Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 自定义xib中的UIView_Ios_Objective C_Iphone_Uiview - Fatal编程技术网

Ios 自定义xib中的UIView

Ios 自定义xib中的UIView,ios,objective-c,iphone,uiview,Ios,Objective C,Iphone,Uiview,我在UIView的一个单独的子类中创建了一个UIView,并使用了xib 我有一个在情节提要中带有UIView的UIViewController,我想将自定义UIView设置为此UIView 我将脚本UIView中的类名修改为自定义UIView的类名。我在结果上获得UIView,但帧大小为自定义UIView。我在自定义xib中添加了正确的约束。还有一些触摸手势由于帧错误等原因无法正常工作 如果我做错了什么,请告诉我 - (id)initWithCoder:(NSCoder *)aDecoder

我在UIView的一个单独的子类中创建了一个UIView,并使用了xib

我有一个在情节提要中带有UIView的UIViewController,我想将自定义UIView设置为此UIView

我将脚本UIView中的类名修改为自定义UIView的类名。我在结果上获得UIView,但帧大小为自定义UIView。我在自定义xib中添加了正确的约束。还有一些触摸手势由于帧错误等原因无法正常工作

如果我做错了什么,请告诉我

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];

    if (self) {

        // Load the UIView from Interface Builder
        [[NSBundle mainBundle] loadNibNamed:@"TMPhotoEdit" owner:self options:nil];

        // Add UIView to current UIView object.
        [self addSubview:self.view];
    }

    return self;
}
self.view就是我为它创建变量的同一个视图对象

我希望帧设置与我在故事板中使用的帧相同

使用代码使其工作的解决方案也对我有很大帮助。我的意思是,在故事板中没有IBOutlet,只是添加了一些框架的UIView


如果我调用initWithFrame,我无法像上面使用initWithCoder那样设置xib,如果我在代码中使用initWithFrame,则不会调用initWithCoder。

假设您有一个想要在大小上相似的视图实例

self.view.frame = CGRectMake(otherView.frame.x, otherView.frame.y, otherView.frame.width, otherView.frame.height);

实际上,您所做的是不正确的,但无论如何,您应该像这样加载自定义视图nib

self.view = [[NSBundle mainBundle] loadNibNamed:@"TMPhotoEdit" owner:self options:nil][0];

同样,这是不正确的,你为什么需要它呢?但它将解决您的nib加载问题。

我有self.view,在当前场景中我不使用它。视图将子视图添加到self.view的视图。和xib中的customView。我希望viewOne与添加了约束的customView一模一样,但是在viewOne的框架中。在这种情况下,您可能需要以编程方式将所有约束从目标视图复制到目标视图。您好,感谢您的回复。这就是我正在做的。我不习惯这样。你能提出的任何其他可能的方法都是非常有帮助的。我有工作要做。但是,我发布这篇文章只是为了找到一种简单的方法,直接将XIB链接到故事板UIView,而无需编码和以代码形式给出框架。