我正在处理一些自定义的基于UIView的input控件,我试图确定适当的实践来设置视图。 当使用UIViewController时,使用loadView和相关的viewWill , viewDid方法相当简单,但是在创build一个UIView的子类时,我最接近的方法是`awakeFromNib , drawRect和layoutSubviews 。 (我想在设置和拆卸callback方面)。在我的情况下,我在layoutSubviews设置我的框架和内部视图,但我没有看到任何屏幕上。 确保我的观点具有我想要的正确高度和宽度的最佳方法是什么? (我的问题适用,不pipe我是否使用自动布局,但可能有两个答案。)什么是适当的“最佳做法”?
我一直在寻找,到目前为止我没有任何工作。 基本上我想有一个叫做rootView.xib的.xib文件,里面我想要一个UIView(让我们称之为containerView)只占用屏幕的一半(所以会有常规的视图和一个新的视图)。 然后我想要一个名为firstView.xib的不同的.xib文件,并将其加载到containerView中。 所以我可以在firstView.xib和一堆不同的东西在rootView.xib上加载一堆东西,并在rootView.xib中的containerView中加载我的firstView.xib,但由于它只占用屏幕的一半,所以仍然可以看到东西在rootView.xib
现在我正在构build一个需要模糊整个UIView的iPhone应用程序。 我怎样才能做到这一点? 我已经看到了这个框架 ,但我不认为这适用于UIView。 有一种替代方法来模糊UIView? 更新 :检查下面我的更新的答案,增加与iOS 7和iOS 8的出现更多的相关性。
我有一个关于自定义UIView圆angular和文本背景颜色的问题。 基本上,我需要在自定义UIView中实现像这样的效果(图片附加 – 注意一侧的圆angular): 我正在考虑使用的方法是: 使用核心文本来获得字形运行。 检查高亮范围。 如果当前运行在高亮范围内,在绘制字形运行之前绘制一个带圆angular的背景矩形和所需的填充颜色。 绘制字形运行。 不过,我不确定这是否是唯一的解决scheme(或者说这是否是最有效的解决scheme)。 使用UIWebView不是一个选项,所以我必须在自定义的UIView做到这一点。 我的问题是,这是最好的方法来使用,我在正确的轨道上? 或者我错过了一些重要的东西,或者错误地做了什么? 在此先感谢您的帮助! 🙂 干杯!
我有一个观点与多个子视图。 当用户点击一个子视图时,子视图的大小会扩大到覆盖大部分屏幕,但其他一些子视图的底部仍然可见。 当其中一个子视图像这样“展开”时,我希望我的应用忽略其他子视图的触摸。 有一个简单的方法来实现这个? 我可以编写代码来处理这个问题,但我希望有一个更简单的内置方法。
我以前从来没有使用过自动布局约束。 我正在创build一个小的新应用程序,并注意到NIB的视图默认为自动布局。 所以,我想我会趁机与它合作,并试图找出苹果去哪里。 第一个挑战: 我需要调整一个MKMapView的大小,我想animation到新的位置。 如果我这样做,我习惯于: [UIView animateWithDuration:1.2f animations:^{ CGRect theFrame = worldView.frame; CGRect newFrame = CGRectMake(theFrame.origin.x, theFrame.origin.y, theFrame.size.width, theFrame.size.height – 170); worldView.frame = newFrame; }]; …然后,每当兄弟视图更新(在我的情况下,一个UISegmentedControl的标题正在更新[myUISegmentedControl setTitle:newTitle forSegmentAtIndex:0] ),MKMapView将'snap'回到原来的高度。 所以,我想我想要做的是将MKMapView的约束从等于父视图的高度更改为相对于它所覆盖的UISegmentedControl的顶部: V:[MKMapView]-(16)-[UISegmentedControl] 我想要的是MKMapView的高度缩短,以便地图视图下的一些控件显示。 要做到这一点,我想我需要改变约束从一个固定的全尺寸视图,底部被约束到一个UISegmentedControl的顶部…我希望它animation视图缩小到新的大小。 这个怎么办? 编辑 – 这个animation不是animation,尽pipe视图的底部会立即移动170: [UIView animateWithDuration:1.2f animations:^{ self.nibMapViewConstraint.constant = -170; }]; 并且nibMapViewConstraint在IB中连接到底部垂直空间约束。
我只注意到UIView结构布局下的iOS 6/7 Delta属性。 这是什么,为什么这是从AutoLayout失踪?
我已经介绍了一些与Interface Builder的子视图,但是我想用代码来完成。 我读过有关设置view.autoresizingMask属性的UIView文档 。 我正在寻找一个合理的解释,如何通过使用提供的各种口罩(如UIViewAutoresizingFlexibleLeftMargin等)来翻译struts和弹簧。
对于一个UIScrollView *toScrollView (这是屏幕的宽度),我想添加一个灰色的底部边框(就像iPhone本地消息应用程序的撰写视图的to-field一样)。 为了达到这个目的,我跟着Cocoa Touch:如何改变UIView的边框颜色和厚度? 并使用自定义的UINavigationBar覆盖顶部边框,并制作了toScrollView的x坐标-1和宽度322,以便左右边框刚好在屏幕外。 这看起来不错,但这是一种黑客,我想知道是否有更好的方法来做到这一点。 – (void)viewDidLoad { [super viewDidLoad]; // Add UINavigationBar *navigationBar at top. self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelAction)]; UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)]; navigationBar.items = [NSArray arrayWithObject:self.navigationItem]; // Add UIScrollView *toScrollView below navigationBar. UIScrollView *toScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(-1.0f, 43.0f, 322.0f, 45.0f)]; toScrollView.backgroundColor = […]
是否有可能直接从界面生成器控制UIView边框属性(颜色,厚度等),或者我只能以编程方式?