我在项目中添加了一个新的nib文件,并尝试加载它.
但是,当我点击应该带我到我创建的视图的工具栏图标时,我得到一条NSInternalInconsistencyException消息:
由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:' - [UIViewController _loadViewFromNibNamed:bundle:]加载了"..."笔尖,但未设置视图插座.
所以我打开了我的nib文件,我看到没有设置引用插件的视图.但是,我尝试单击并将"新引用插座"的圆圈拖动到文件所有者,但它不会让我...我需要做什么才能显示我的视图?
我需要在我的iPhone应用程序中添加一些自定义逻辑,以便根据您运行的iOS版本,选择不同的XIB文件(即iPhone或iPad将显示不同的XIB文件).
我从第一天开始构建了整个iPhone应用程序并且一切都很好,使用tabbarcontroller和每个选项卡中的标准导航控制器.
所以我实施了:
- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle
方法,只是发现它没有被调用.(我有一个断点和日志语句,没有任何东西被击中).
有谁知道为什么会这样?或者我如何实现此功能?
我已经读过某个地方,只有在调用它时才调用initWithNibName,即当你以编程方式构造视图层次结构时,这是真的吗?
我整个上午一直在努力奋斗超过3个小时,我真的疯了!
我正在使用Xcode 4.6为iOS 6创建一个Storyboard应用程序.我拖放了UIScrollView一个ViewController.在设计了Scroll视图的可视部分后,使用它的手柄我将它垂直拉伸并将其向上推一点,以便我可以看到该部分来设计屏幕的其余部分.完成后,我将滚动视图放回到适合视图的位置.但我没有调整滚动视图的大小以匹配IB视图的大小.
我在viewDidLayoutSubviews方法中添加了以下代码行(使用该方法而不是viewDidLoad因为Chris 在此处发表评论).
self.scrollView.contentSize = self.view.frame.size;
Run Code Online (Sandbox Code Playgroud)
代码被执行但滚动条不会出现,滚动根本不起作用!我在这里几乎所有的问题和答案都是关于这个,并尝试了一切,但无济于事.
我也在这里附加了可运行的Xcode项目.
请告诉我应该怎么做才能使这个工作.我对Apple一直感到沮丧.
谢谢.
我正在构建一个自定义进度条(UIView的子类).我向UIView添加了一个UIImageView,它使用重复的图像来显示进度.视图被添加到故事板中,我可以让它显示得很好,但是如果我尝试更改框架,那么它只显示故事板文件中显示的内容(即,如果故事板视图具有黄色背景,但代码uiview子类将其更改为绿色,如果我尝试在代码中更改UIImageView的框架以反映当前进度,则默认返回黄色背景)
我尝试使用这些没有运气:
[self updateConstraints];
[self layoutSubviews];
Run Code Online (Sandbox Code Playgroud)
UPDATE
我知道我需要设置一个约束用于autolayout.但是,它需要以编程方式完成,因为我正在以这种方式创建子类UIView.这是我正在尝试的代码,我知道我很接近,但不能让它工作:
[self addConstraint:
[NSLayoutConstraint constraintWithItem:self.progressView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationLessThanOrEqual
toItem:nil
attribute:NSLayoutAttributeWidth
multiplier:1
constant:progressWidth]];
[UIView animateWithDuration:3 animations:^{
[self.progressView layoutIfNeeded];
}];
Run Code Online (Sandbox Code Playgroud) ios ×4
cocoa-touch ×2
storyboard ×2
frame ×1
ios6 ×1
ipad ×1
iphone ×1
objective-c ×1
subview ×1
uiscrollview ×1
uiview ×1
xcode4.6 ×1
xib ×1