- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Storyboard驱动的 iOS 应用程序。我的目标是将一个小方形 View (定义为其他 XIB)添加到主 ViewController 上的另一个 UIView。*//请注意,我已在 Identity Inspector 中正确分配了类名称*
在主ViewController上,我手动添加了一个UIView(myHolderView),并在ViewController界面中添加了一个UIView成员。
//.h
@interface ViewController : UIViewController
@property(nonatomic, strong) IBOutlet UIView *myHolderView;
@end
而且,我已经通过“BlueString”连接了这个 IBOutlet :)
现在,我添加了另一个具有单一 View 的 XIB - 将其命名为 MySquare.xib 并在其上添加了一个标签。并且,添加了一个带有 .h 和 .m 文件的 UIView 类。并且建立了“BlueString”连接。
@interface MySquare : UIView
@property(nonatomic, strong) IBOutlet UILabel *myLabel;
@end
现在,在实现中:
@implementation ViewController
@synthesize myHolderView;
- (void)viewDidLoad
{
[super viewDidLoad];
MySquare *sq=[[MySqure alloc]init];
// Do any additional setup after loading the view, typically from a nib.
[self.myHolderView addSubview:sq];
}
当我在模拟器中运行它时,它只显示主视图,但方形 View 不会出现。我知道主视图已加载,因为...我更改了它的颜色以便我可以看到。请帮忙。
最佳答案
可能您没有在 MySquare.m 文件中使用 xib 进行 View 初始化。
- (id) initWithFrame:(CGRect)frame {
NSLog(@"This is called if you add programatically this view");
self = [super initWithFrame:frame];
if (self) {
[self addSubview:[[[NSBundle mainBundle] loadNibNamed:@"MyIBView" owner:self options:nil] objectAtIndex:0]];
}
return self;
}
如果您计划使用 Interface Builder 添加 xib,则必须类似地实现 initWithCoder 方法:
-(id)initWithCoder:(NSCoder *)aDecoder {
if ((self = [super initWithCoder:aDecoder])) {
[self addSubview:[[[NSBundle mainBundle] loadNibNamed:@"MyIBView" owner:self options:nil] objectAtIndex:0]];
}
return self;
}
请完成此 list ,它也可能对其他人有帮助:
使用 Interface Builder 布局 (xib) 添加自定义 View 的 list :
1) 新建一个xib(File->New->IOS/User Interface->View),命名(eg. MyIBView)
2) 创建一个新类(File->New->IOS/Cocoa Touch->Objective-C class),确保它是UIView的子类!将其命名为 MyIBView。
现在您的项目中添加了 MyIBView.xib、MyIBView.h 和 MyIBView.m 文件
3) 编辑您的 MyIBView.xib:选择文件的所有者并使用身份检查器(第 3 个图标)选择您最近创建的类 MyIBView。
4) 选择顶层 View (如果它是一个新的 xib,只有这个存在)并确保使用身份检查器该类是 UIView(灰色)并且没有被覆盖
5) 现在您可以将 IBOutlets 和/或 IBAction 添加到您的 MyIBView.h 文件中,并且您可以在 MyIBView.xib 中使用 Interface Builder 进行连接
在另一个 View 中以编程方式使用此 View :
6a) 如果您想以编程方式使用此自定义 View ,请在您的 MyIBView.m 文件中创建上面的第一个方法 (initWithFrame)
7a) 将您的 MyIBView.h 文件包含在您希望以编程方式添加自定义 View 的位置
8a) 现在您可以添加您的 View :
MyIBView *myIBView = [[MyIBView alloc] initWithFrame:CGRectMake(0,0,100,100)];
在另一个 View 中使用 Interface Builder 中的这个 View :
6b) 如果您想在 Interface Builder 中使用此自定义 View ,请在您的 MyIBView.m 文件中创建上面的第二个方法 (initWithCoder)
7b) 在您的另一个 View 中,将一个 UIView 拖放到您的 View Canvas 上。使用身份检查器调整大小并将类修改为 MyIBView。
请注意,只有在尝试运行代码后,您才能看到设计时的自定义 View 。
希望对您有所帮助,您可以找到您的错误配置!
关于iOS:简单的 UIVIew 没有被添加到另一个 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21417106/
我创建了一个用户可以添加测试的字段。这一切运行顺利我只希望当用户点击(添加另一个测试)然后上一个(添加另一个测试)删除并且这个显示在新字段中。 所有运行良好的唯一问题是点击(添加另一个字段)之前添加另
String[] option = {"Adlawan", "Angeles", "Arreza", "Benenoso", "Bermas", "Brebant
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在努力将 jQuery 滚动功能添加到 nav-tab (Bootstrap 3)。我希望用户能够选择他们想要的选项卡,并在选项卡内容中有一个可以平滑滚动到 anchor 的链接。这是我的代码,可
我正在尝试在用户登录后再添加 2 个 ui 选项卡。首先,我尝试做一个之后。 $('#slideshow').tabs('remove', '4'); $("#slideshow ul li:last
我有一个包含选择元素的表单,我想通过选择添加和删除其中一些元素。这是html代码(这里也有jsfiddle http://jsfiddle.net/txhajy2w/):
正在写这个: view.backgroundColor = UIColor.white.withAlphaComponent(0.9) 等同于: view.backgroundColor = UICo
好的,如果其中有任何信息,我想将这些列添加到一起。所以说我有 账户 1 2 3 . 有 4 个帐户空间,但只有 3 个帐户。我如何创建 java 脚本来添加它。 最佳答案 Live Example H
我想知道是否有一种有效的预制算法来确定一组数字的和/差是否可以等于不同的数字。示例: 5、8、10、2,使用 + 或 - 等于 9。5 - 8 = -3 + 10 = 7 + 2 = 9 如果有一个预
我似乎有一个卡住的 git repo。它卡在所有基本的添加、提交命令上,git push 返回所有内容为最新的。 从其他帖子我已经完成了 git gc 和 git fsck/ 我认为基本的调试步骤是
我的 Oracle SQL 查询如下- Q1- select hca.account_number, hca.attribute3, SUM(rcl.extended_amou
我正在阅读 http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingG
我正在尝试添加一个“加载更多”按钮并限制下面的结果,这样投资组合页面中就不会同时加载 1000 个内容,如下所示:http://typesetdesign.com/portfolio/ 我对 PHP
我遇到这个问题,我添加了 8 个文本框,它工作正常,但是当我添加更多文本框(如 16 个文本框)时,它不会添加最后一个文本框。有人遇到过这个问题吗?提前致谢。 Live Link: JAVASCRIP
add/remove clone first row default not delete 添加/删除克隆第一行默认不删除&并获取正确的SrNo(例如:添加3行并在看到问题后删除SrNo.2)
我编码this ,但删除按钮不起作用。我在控制台中没有任何错误.. var counter = 0; var dataList = document.getElementById('materi
我有一个类似数组的对象: [1:数组[10]、2:数组[2]、3:数组[2]、4:数组[2]、5:数组[3]、6:数组[1]] 我正在尝试删除前两个元素,执行一些操作,然后将它们再次插入到同一位置。
使用的 Delphi 版本:2007 你好, 我有一个 Tecord 数组 TInfo = Record Name : String; Price : Integer; end; var Info
我使用了基本的 gridster 代码,然后我声明了通过按钮添加和删除小部件的函数它工作正常但是当我将调整大小功能添加到上面的代码中时,它都不起作用(我的意思是调整大小,添加和删除小部件) 我的js代
title 323 323 323 title 323 323 323 title 323 323 323 JS $(document).keydown(function(e){
我是一名优秀的程序员,十分优秀!