Tag: 界面生成器

iPhone 4和5自动调整垂直空间

我在Interface Builder for iPhone 4维度中构build了我的视图。 我认为iOS 6中的Autoresize Constraints会自动处理大小调整。 屏幕截图显示了Xcode自动添加的Top Space限制。 它说,顶部和底部的橙色视图之间的关系必须是332点。 在iPhone 5中查看时,橙色button会一直延伸到底部,如下面的屏幕截图所示。 将关系更改为“大于”或“相等”时,视图不会更改并保持不变。 当删除常量使其成为自动时,视图被拉伸到整个屏幕上。 我如何指定一个约束的高度是44点,在底部?

UIPageControl不遵守它在UIScrollView中的约束

我有一个UIScrollView,在我的滚动视图中有很多视图。 我使用的是自动布局,所有的视图都以相同的方式布局:左和顶间距超级视图,宽度和高度设置。 一切都很好滚动,但是我的页面控制保持不变。 它不滚动滚动视图内的其他元素。 是的,我没有像其他元素一样检查页面控件是否在滚动视图中,是的,我已经四次检查了页面控件的约束条件。 它只是不会滚动。 可能是什么问题呢? 有标签,另一个滚动视图,文本视图,图像视图和他们都完全滚动,这只是页面视图是有问题的。 有Xcode / iOS SDK的错误,还是我错过了什么? 更新:我的滚动视图内的所有视图都在容器视图内。 滚动视图和容器视图的translatesAutoresizingMaskIntoConstraints属性都设置为NO 。 只有页面控件不服从它的限制。 以下是Interface Builder的屏幕截图:

UIViewanimation一个约束会影响另一个约束

我有一个UIImageView,我想在后台使用泛效应缓慢animation。 我的背景图片视图有四个约束: 从顶部到顶部布局指南的距离(零) 从底部到底部布局指南的距离(零) 宽度(恒定在850) 引导空间超级查看(零,连接到代码为backgroundImageViewLeftMargin outlet) 图像视图的视图模式设置为“纵横填充”。 当我运行我的应用程序,没有问题,静态图像显示。 我添加下面的代码来animation我的视图: -(void)animateBackgroundHorizontally:(BOOL)forward{ self.backgroundImageViewLeftMargin.constant = forward ? -500 : 0; [self.backgroundImage setNeedsUpdateConstraints]; [UIView animateWithDuration:30 animations:^{ [self.backgroundImage layoutIfNeeded]; } completion:^(BOOL finished) { [self animateBackgroundHorizontally:!forward]; }]; } 然后我调用[self animateBackgroundHorizontally:YES]; 在… viewWillAppear: 。 这是发生了什么事情: 图像从一个意想不到的(但总是相同的)位置开始animation(顶部边缘位于屏幕的中间位置,应该在屏幕的顶部),正确地animation到其最终位置,然后在animation返回到原始位置时位置,它确实animation正确 。 我animation的唯一属性是左边距。 当我不调用animation代码时,它显示正确。 为什么animation从图像上看到的位置不正确? 我试过将self.backgroundImage.translatesAutoresizingMaskIntoConstraints设置为YES (我无法同时满足constaints错误)和NO但它没有工作。 这个问题在iOS 6和iOS 7上都是持久的。

为什么基本的UIScrollView没有几个button滚动?

为什么基本的UIScrollView只有几个button滚动? 所以我所做的是: 创build基于视图的iPhone应用程序 将UIScrollView拖入主控制器的xib文件中 scrollview现在是IB中View的子元素 在滚动查看IB增加它的视图高度高达1000 添加一些button到滚动视图(所以它们显示为滚动视图的子项) 也创build了实例variables,并将属性IBOutlet合成 将文件所有者的scrollView出口链接到滚动视图 检查以确保IB中的滚动视图具有勾选的“滚动已启用”属性 但仍然在iPhone模拟器之后,它不会让我滚动视图?

如果通过Interface Builder添加,则不能修改UIImageView的框架

我碰到这个非常奇怪的问题,我无法修改UIImageView的框架。 我已经把它隔离到这个非常简单的例子。 从默认的单视图应用程序xcode模板开始,我在Interface Builder中添加一个UIImageView,将其链接到名为testImage的ViewController属性,并在ViewController.m中添加: -(void)viewDidAppear:(BOOL)animated{ UIImageView* maskImage = [[UIImageView alloc] initWithFrame:self.testImage.frame]; maskImage.image = self.testImage.image; maskImage.alpha = 0; [self.view addSubview:maskImage]; self.testImage.frame = CGRectMake(10, 10, 10, 10); } 它不起作用。 testing图像坚定地在那里。 如果我不添加maskImage查看,该示例工作。 而且,是的,我确定我不覆盖maskImage的目的地。 如果我不使用IB来放置图像,而是使用: self.testImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 100, 300, 300)]; self.testImage.image = [UIImage imageNamed:@"jim-105.png"]; [self.view addSubview:self.testImage]; 在viewDidLoad它所有的按预期工作。 我也试图把图像放在IB中,然后在viewDidLoad中设置它的属性,但效果相同。 我一直在Xcode5中尝试这个。 我没有在这里访问以前的Xcode,我不知道这是一个预期的行为(如果是这样,为什么),或者这是一个错误?

如何在Xcode 4中的Interface Builder中的类窗格中定义Outlet和Actions?

在Xcode 3中,通过进入“库”>“类”窗格并从列表中select类,可以在界面构build器中定义出口,动作等。 Xcode 4中缺less这个function吗? 在Xcode 4的实用工具区(右下angular)有一个文件模板库,但我的自定义类不显示在这里!

如何在界面生成器中获取两个UITextView以在横向方向上正确alignment?

如何在界面生成器中获取两个UITextView以在横向方向上正确alignment? 我有一个占据了屏幕的大约四分之一,另一个占据了剩下的一个。 一切都在肖像看起来不错。 然而在风景中,它们重叠/不正确alignment。 我一直在尝试resize的面具,但似乎没有拿出正确的组合。 我怎样才能使他们在方向变化时保持自己的正确alignment(并且在iPad中使用也是一件好事) 编辑1 – 应该澄清,我实际上在这个屏幕上,从上到下: 菜单栏(顶部) 带标题的UITextView(粗体文本) UITextView与细节文本 所以不知道这是否与答案有所不同。 重点是,即使我玩自动resize的不同设置,我似乎无法得到它,所以在方向改变后,高UITextView的底部仍然整齐地排列在较低的顶部(即,而不是我似乎得到了重叠的效果) 编辑2 – 我把UITextView的边界和事实上,他们是不重叠的景观模式,而是顶部的UITextView(标题)的垂直宽度似乎收缩,使它切断了二行标题。

UITextField – 为leftView添加UIView – 无法获得焦点

在我的应用程序的UITextFields有占位符文本定义(在界面生成器),我不能让这些领域获得焦点(即显示键盘,并允许编辑),当我点击占位符文本占用的区域。 如果我点击占位符文本区域以外的文本区域(虽然仍然在文本文件本身的范围内),它将正常运行(即popup键盘,我可以编辑文本区域的内容)。 我怎样才能解决这个问题? 谢谢。 编辑1 好的,我想我已经明白了。 我还设置了这些UITextFields的“leftView”属性的空白视图。 如果我删除它,可以触摸占位符文本区域中的UITextFields,并按预期做出反应; 尽pipe我需要这个视图。 如果你把这个spacer视图的背景颜色改成红色的,你可以看到它根本不挡道,所以我不知道发生了什么问题。 为什么这个代码会导致这个问题? 谢谢。 +(UIView*)getTextFieldLeftSpacerViewWithBackgroundColor:(UIColor*)backgroundColor andHeight:(CGFloat)height { UIView *leftWrapper = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 8.0f, height)]; leftWrapper.autoresizingMask = UIViewAutoresizingNone; [leftWrapper setOpaque:YES]; if(backgroundColor){leftWrapper.backgroundColor = backgroundColor;} else{leftWrapper.backgroundColor = [UIColor clearColor];} return [leftWrapper autorelease]; } +(void)setTextFieldLeftSpacerForTextFieled:(UITextField*)textField { if(textField) { UIView *spacer = [MYViewController getTextFieldLeftSpacerViewWithBackgroundColor:nil andHeight:textField.bounds.size.height]; textField.leftView = spacer; textField.leftViewMode = […]

iOS 7后退button符号?

我真的很喜欢iOS 7中的后退button箭头的形状,并希望在我的一个UIButton上使用它,但是像>而不是<。 会有文字的方式,还是应该使用图像?

每个目标不同的故事板本地化

我有一个3个目标的项目。 每个目标只需要支持一种语言,但每个目标的语言都不相同。 目前我有 目标1(es) 目标2(es) 目标3(点) 我的大部分string都在Localizable.strings文件中,我只是针对每个目标指定一个不同的文件。 不过,我的故事板中有很多string。 我的问题是,似乎不可能为每个目标创build不同的故事板本地化文件。 如果我更改葡萄牙语文件的定位,西class牙语文件的定位会自动更改。 一个可能的解决scheme是复制每个目标的每个故事板,但是这不会随着目标数量的增长而很好地扩展。 我也可以在每个ViewController中使用NSLocalizedString修改所有的文本,但是这看起来很乏味和容易出错。 有更好的解决scheme吗?