Tag: uiview

自动布局:在单独的窗口中的两个视图之间创build约束

是否有可能以编程方式创build两个视图之间的独立窗口中的约束? 如果是这样的话,我可以考虑一个可能的改进来回答“在类似于iMessage应用的键盘上的UIView” 。 我可以设置tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive ,其中tableView显示消息,并使用dummyInputAccessoryView 。 然后,我想使用自动布局来将dummyInputAccessoryView的高度约束到包含inputTextView & sendButton的toolbar的高度,以及toolbar的top of to that of dummyInputAccessoryView`的高度。

在UIScrollview的UIView中的UITableView:在UITableView数据中点击清除

为了工作的目的,我需要创build一个embeddedUIView的UIScrollView,然后通过Xcode中的容器特性embedded一个UITableView。 我的UIScrollView是一个完整的页面滚动查看启用。 我的UIView充满了UIImage,一些UIButton和一个链接到UITableView的容器。 在初始启动时,数据完全加载,这意味着UITableView充满了数据,UIImage被填充,button被正确放置。 但是,对于一些奇怪的原因,当我尝试在容器中的UITableView中点击或滚动时,我的UITableView中的所有数据都将被清除。 我在这里发布这个问题,因为我还没有发现任何其他类似的问题,在StackOverFlow或任何其他网站。 UITableViewCode: – (void)viewDidLoad { [super viewDidLoad]; [self.productTable setBackgroundView:nil]; self.productTable.backgroundColor = [UIColor clearColor]; self.productTable.delegate = self; self.productTable.dataSource = self; } – (void) viewDidAppear:(BOOL)animated { /*CGSize tmp = self.productTable.contentSize; self.productTable.frame = CGRectMake(0, 0, tmp.width, tmp.height * 3);*/ } – (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be […]

触摸appDelegate中的事件

这是我的问题。 我已经在我的应用程序中实现推送通知,它工作得很好。 该应用程序收到一条消息 在appDelegates中捕获:didReceiveRemoteNotification 创build一个新的UIView来显示接收到新消息 唯一的问题是,我希望用户能够点击消息,以便应用程序将打开消息viewcontroller。 但我似乎无法弄清楚如何捕捉这个触摸,然后在appDelegate中做些什么。 我有一个NSLog的方法,应该打开新的viewcontroller,但似乎从来没有被调用。 任何帮助,将不胜感激! 这是代码,它在didReceiveRemoteNotification方法中: UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gotoMessages)]; UIView *messageView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 45)]; messageView.userInteractionEnabled = YES; messageView.backgroundColor = [UIColor darkGrayColor]; [messageView addGestureRecognizer:recognizer]; [self.window addSubview:messageView]; 谢谢!

CAAnimation – 改变animation最后一帧的属性?

我正在animation一个UIView(或更确切地说它的CALayer),在animation结束时,它不再可见(我做了一个3D变换,使它围绕y旋转了90°,想象一个门向你开启),虽然它在技​​术上“可见”,因为它的框架仍然在屏幕上。 在animation结束时,我从animationDidStop:finished:方法的超级视图中移除了该视图。 问题是,有一个简短的闪烁,你看到它的原始未转换状态之前,它被删除的视图。 我想知道如何解决这个问题。 我不知道。 我试图animation层的不透明度,但也没有工作。 闪烁仍然发生。 有任何想法吗? 我可以提供任何东西,或者也许有人在这里有过这个问题吗? 编辑:这里有一些代码(向下滚动,并寻找内部如果(isHalfDone)其中[子视图removeFromSuperview]; – (void) pageOpenView:(UIView *)viewToOpen duration:(NSTimeInterval)duration pageTurnDirection:(PageTurnDirection) p{ // Remove existing animations before stating new animation [viewToOpen.layer removeAllAnimations]; // Make sure view is visible viewToOpen.hidden = NO; // disable the view so it's not doing anythign while animating viewToOpen.userInteractionEnabled = NO; float dir = p == […]

UIViewanimation定时器

所以有一个UITextField ,我有字段的限制。 如果用户试图input更大的东西, UIView出现。 我已经有这部分animation。 这是我有什么: public void animateHoursMesg() { var HoursMesgExpandPos = new PointF (248.0f, 273.0f); var HoursMesgInitPos = new PointF (400.0f, 273.0f); UIView.Animate ( duration: 0.3f, delay: 0, options: UIViewAnimationOptions.CurveEaseInOut, animation: () => { if (Flag_HoursMesg) { view_HoursLimitMesg.Center = HoursMesgInitPos; Flag_HoursMesg = false; } else { view_HoursLimitMesg.Center = HoursMesgExpandPos; Flag_HoursMesg = true; } […]

将UILabel的图层添加到另一个图层(单独的UIView)

我试图了解为什么我不能添加一个UILabel的图层作为一个单独的UIView对象的另一层的子图层。 – (void)addNumber:(NSInteger)number toLayer:(CALayer *)layer { UILabel *numberLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds))]; [numberLabel setFont:[UIFont boldSystemFontOfSize:12]]; [numberLabel setText:[NSString stringWithFormat:@"%d", number]]; /* if I change the BackgroundColor to an opaque color it renders as a solid black rect. * No matter what color I choose * Setting it as clear then it is transparent […]

自动调整UITableView的旋转宽度

我将UIButtons添加到位于分割视图控制器右侧的UIView。 没有任何自动设置,button文本将以横向方式完全显示。 当我旋转到纵向方向时,所有的button文本都被完全显示,但UIView的右侧有额外的空间,因为有更多的房地产可以使用。 我希望这些button在旋转时resize,以便利用整个宽度。 我试过设置: [button setAutoresizingMask:UIViewAutoresizingFlexibleWidth]; 有了这个,在纵向方向上存在相同的额外的房地产,但在横向方向,我得到了很多与“…”缩短文本的button, 如何才能做到这一点?

镜像UIView

我有一个透明背景的UIView和一些button。 我想捕捉视图的graphics,缩小它,并重画(镜像)在屏幕上的其他地方。 (在另一个视图之上。)button可以改变,所以它不是静态的。 什么是最好的方法来做到这一点?

如果drawRect:被覆盖,子类UIView显示黑色背景

我有一个自定义的类,我从UIView类派生。 我想要完成的只是绘制垂直黑线与之间的预定义距离。 当我重写drawRect方法并写我的代码来绘制垂直线时,视图只显示一个完整的黑色背景。 然后我注意到,即使是一个空的重写drawRect只调用超类的drawRect结果在黑色的背景。 当我注释掉drawRect的时候,视图就会显示出来,并且如我所期望的那样变得透明。 这是我在调用超类方法的drawRect中唯一使用的代码: – (void)drawRect:(CGRect)rect { [super drawRect:rect]; } 什么可能是这种行为的原因?

iOS – 如何将触摸转发到底层的uiview

我有3个相同大小的UIViews堆叠在一起。 最顶端是透明的,只用于检测触摸。 检测到的触摸types将决定我想要接收触摸事件的其他两个基础视图中的哪一个。 一旦最上面的视图完成触摸,我需要将触摸事件转发到正确的基础视图。 我怎样才能做到这一点? 编辑 – 我正在添加我的触摸检测代码。 这是在MainViewController中,其视图包含所有3个子视图。 -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { for (UITouch *touch in touches) { if (touch.view == self.touchOverlay) { CGPoint touchLocation = [touch locationInView:touch.view]; //do a bunch of math to determine which view should get the touches. if (viewAshouldGetTouches) //forward to viewA if (viewBshouldGetTouches) //forward to viewB } } […]