Questions tagged «uiview»

UIView是iOS的UIKit框架中的类,它定义了屏幕上的矩形区域以及用于管理该区域中内容的界面。所有UI元素要么是UIView的子类,要么包含在UIView中。

18
popViewController的完成块
使用来关闭模态视图控制器时dismissViewController,可以选择提供完成块。是否有类似的等效项popViewController? 完成参数很方便。例如,我可以使用它来阻止从表视图中删除行,直到模式退出屏幕,让用户看到行动画。从推送视图控制器返回时,我希望有同样的机会。 我尝试放置popViewController在UIView动画块中,但我确实可以访问完成块。但是,这会对弹出的视图产生一些不必要的副作用。 如果没有这样的方法,有什么解决方法?

8
如何控制阴影扩散和模糊?
我已经在草图中设计了UI元素,其中一个元素的阴影带有模糊1和散布0。只是shadowOpacity)如何控制像模糊和扩散之类的东西? 编辑: 这是我在Sketch中的设置: 这就是我希望我的阴影看起来像的样子: 这是当前的样子:注意,您必须单击图片才能实际看到阴影。 我的代码如下: func setupLayer(){ view.layer.cornerRadius = 2 view.layer.shadowColor = Colors.Shadow.CGColor view.layer.shadowOffset = CGSize(width: 0, height: 1) view.layer.shadowOpacity = 0.9 view.layer.shadowRadius = 5 }


7
如何在UIView中加载Xib文件
我一直在到处搜索,但到目前为止没有任何工作对我有用。 基本上,我希望有一个名为rootView.xib的.xib文件,在其中我希望有一个UIView(可以称其为containerView),它仅占据屏幕的一半(因此会有常规视图和新视图)。然后我想要一个名为firstView.xib的不同.xib文件,并将其加载到containerView内部。因此,我可以在firstView.xib上放一堆东西,在rootView.xib中放一堆不同的东西,然后将firstView.xib加载到rootView.xib的containerView内,但是由于它只占据屏幕的一半,因此您仍然会看到rootView.xib上的内容
111 ios  objective-c  uiview  xib 

2
clipsToBounds如何工作?
我想知道如何使用该UIView物业clipsToBounds。 官方文档说: clipsToBounds 属性 一个布尔值,该值确定子视图是否限于视图的边界。 讨论 将此值设置为YES会导致子视图被裁剪到接收器的边界。如果设置为NO,则不会裁剪其帧超出接收者可见范围的子视图。默认值为NO。 但是我不清楚这到底意味着什么。我应该如何使用clipsToBounds?将此属性设置为YES完全会带来什么后果?还是要NO?
110 ios  uiview  uikit  frame  bounds 

7
向我的UIView添加阴影的最佳方法是什么
我试图向彼此叠置的视图添加阴影,这些视图折叠以允许查看其他视图中的内容,因此我想保持view.clipsToBounds打开状态,以便在视图折叠时它们的内容被剪切。 这似乎使我很难在图层上添加阴影,因为当我打开clipsToBounds阴影时也会被剪切。 我一直在尝试操纵view.frame并view.bounds为框架添加阴影,但允许边界足够大以包围它,但是我对此并不走运。 这是我用来添加阴影的代码(仅clipsToBounds在显示OFF时有效) view.clipsToBounds = NO; view.layer.shadowColor = [[UIColor blackColor] CGColor]; view.layer.shadowOffset = CGSizeMake(0,5); view.layer.shadowOpacity = 0.5; 这是应用于最浅的灰色层的阴影的屏幕截图。希望这可以使我了解如果clipsToBounds关闭则我的内容将如何重叠。 如何在阴影中添加阴影UIView并保持剪切内容? 编辑:只是想补充一点,我也一直在使用带有阴影的背景图像,效果很好,但是我仍然想知道最佳的编码解决方案。

17
使用UIViewControllerContextTransitioning,“来自View Controller”消失
我遇到一个问题,下面已经描述了。 我正在使用UIViewControllerContextTransitioning自定义过渡。 我有2个视图控制器,第一个视图控制器和第二个视图控制器。 现在,我想用动画在第一个视图控制器上添加第二个视图控制器。我已经实现了,现在第二个视图控制器是透明的,因此我们可以在第二个视图控制器下面看到第一个视图控制器。 但是我看不到第一个视图控制器,并且只能在第二个视图控制器下方看到黑屏。 -(void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext{ self.transitionContext = transitionContext; if(self.isPresenting){ [self executePresentationAnimation:transitionContext]; } else{ [self executeDismissalAnimation:transitionContext]; } } -(void)executePresentationAnimation:(id<UIViewControllerContextTransitioning>)transitionContext{ UIView* inView = [transitionContext containerView]; UIViewController* toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; UIViewController* fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; CGRect offScreenFrame = inView.frame; offScreenFrame.origin.y = inView.frame.size.height; toViewController.view.frame = offScreenFrame; toViewController.view.backgroundColor = [UIColor clearColor]; fromViewController.view.backgroundColor = …

2
UIView的setNeedsLayout,layoutIfNeeded和layoutSubviews之间是什么关系?
谁能给上之间的关系明确的解释UIView's setNeedsLayout,layoutIfNeeded和layoutSubviews方法呢?还有一个将使用所有三个示例的示例实现。谢谢。 让我感到困惑的是,如果我向我的自定义视图发送一条setNeedsLayout消息,则在此方法之后它调用的下一个内容是layoutSubviews,跳过layoutIfNeeded。从文档中,我希望流程为setNeedsLayout> layoutIfNeeded被调用的原因> 被调用的原因layoutSubviews。
105 iphone  xcode  uiview 

8
什么时候可以激活/停用布局约束?
我在IB中设置了多组约束,并且我想根据某种状态以编程方式在约束之间进行切换。有一个constraintsA插座集合都标记为已从IB安装,而constraintsB所有插座集合都已从IB 中卸载。 我可以通过编程方式在两组之间切换,如下所示: NSLayoutConstraint.deactivateConstraints(constraintsA) NSLayoutConstraint.activateConstraints(constraintsB) 但是...我不知道何时该做。看来我应该能够一次完成该操作viewDidLoad,但是我无法使其正常工作。我已经打过电话view.updateConstraints(),并view.layoutSubviews()设置约束条件之后,但无济于事。 我确实发现,如果我在viewDidLayoutSubviews所有工作中都按预期设置了约束,我想我想知道两件事... 为什么会出现这种情况? 是否可以从viewDidLoad激活/停用约束?



6
为UIView子类加载Nib的正确方法
我知道以前曾问过这个问题,但答案是矛盾的,我很困惑,所以请不要解雇我。 我希望UIView在我的整个应用程序中都有一个可重用的子类。我想用一个nib文件描述接口。 现在,我们说这是一个带有活动指示器的加载指示器视图。我想在某个事件上实例化此视图并为视图控制器的视图添加动画。我可以以编程方式描述视图的界面,以编程方式创建元素并在init方法中设置其框架等。 但是,如何使用笔尖呢?保持界面生成器中给定的大小,而无需设置框架。 我已经设法做到了,但是我确定这是错误的(只是一个带有选择器的视图): - (id)initWithDataSource:(NSDictionary *)dataSource { self = [super init]; if (self){ self = [[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", [self class]] owner:self options:nil] objectAtIndex:0]; self.pickerViewData = dataSource; [self configurePickerView]; } return self; } 但是我覆盖了自我,当我实例化它时: FSASelectView *selectView = [[FSASelectView alloc] initWithDataSource:selectViewDictionary]; selectView.delegate = self; selectView.frame = CGRectMake(0, self.view.bottom + …

10
获取对iOS应用程序中最顶层视图/窗口的引用
我正在创建一个可重用的框架,用于在iOS应用程序中显示通知。我希望将通知视图添加到应用程序中所有其他内容的顶部,就像UIAlertView一样。当我初始化监听NSNotification事件并添加视图作为响应的管理器时,我需要获取对应用程序中最顶层视图的引用。这是我目前所拥有的: _topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject]; 这是否适用于任何iOS应用程序,或者是获取顶视图的更安全/更好的方法?

7
检查子视图是否在视图中
我在做一个应用程序,我一个子视图添加到使用视图addSubview:上IBAction。同样,当IBAction再次触摸带有该按钮的按钮时,应调用removeFromSuperview添加在该子视图上的该子视图IBAction: 伪代码 -(IBAction)showPopup:(id)sender { System_monitorAppDelegate *delegate = (System_monitorAppDelegate *)[[UIApplication sharedApplication] delegate]; UIView *rootView = delegate.window.rootViewController.view; if([self popoverView] is not on rootView) { [rootView addSubview:[self popoverView]]; } else { [[self popoverView] removeFromSuperview]; } }

7
获取UIView相对于其超级视图的位置
我有一个UIView,其中安排了UIButtons。我想找到那些UIButton的位置。 我知道这buttons.frame将给我职位,但仅就其直接监督而言,它只会给我职位。 关于UIButtons超级视图的超级视图,有没有办法找到这些按钮的位置? 例如,假设有一个名为“ firstView”的UIView。 然后,我有另一个UIView,“ secondView”。该“ SecondView”是“ firstView”的子视图。 然后,我将UIButton作为“ secondView”的子视图。 ->UIViewController.view --->FirstView A ------->SecondView B ------------>Button 现在,有什么方法可以找到该UIButton相对于“ firstView”的位置?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.