标签: interface-builder

89
推荐指数
1
解决办法
3万
查看次数

Interface Builder中的"宽度等于高度"约束

我找不到在Interface Builder中创建'square'约束的方法,意思是'width equals height'.我想可以通过编程方式添加这样的约束.我可以在IB做些什么吗?也许我只是看不到它?这似乎微不足道,但我找不到它.

interface-builder ios autolayout nslayoutconstraint

89
推荐指数
1
解决办法
4万
查看次数

IB_DESIGNABLE,IBInspectable - 接口构建器不更新

我有以下代码集:

CustomView.h

#import <UIKit/UIKit.h>

IB_DESIGNABLE
@interface CustomView : UIView

@property (nonatomic) IBInspectable UIColor *borderColor;
@property (nonatomic) IBInspectable CGFloat borderWidth;
@property (nonatomic) IBInspectable CGFloat cornerRadius;

@end
Run Code Online (Sandbox Code Playgroud)

CustomView.m

#import "CustomView.h"

@implementation CustomView

- (void)setBorderColor:(UIColor *)borderColor {
    _borderColor = borderColor;
    self.layer.borderColor = borderColor.CGColor;
}

- (void)setBorderWidth:(CGFloat)borderWidth {
    _borderWidth = borderWidth;
    self.layer.borderWidth = borderWidth;
}

- (void)setCornerRadius:(CGFloat)cornerRadius {
    _cornerRadius = cornerRadius;
    self.layer.cornerRadius = cornerRadius;
}

@end
Run Code Online (Sandbox Code Playgroud)

(对于Swift参考,Swift代码也出现了这个问题)

CustomView.swift

@IBDesignable
class CustomView : UIView {
    override init(frame: CGRect) {
        super.init(frame: frame)
    }

    required init(coder aDecoder: …
Run Code Online (Sandbox Code Playgroud)

interface-builder ios ibdesignable ibinspectable

89
推荐指数
6
解决办法
4万
查看次数

无法在IB中调整UIView的大小

可能是一些简单的东西,但我无法理解为什么我无法在Interface Builder中的xib中调整UIView的大小.

我在xcode和大小检查器中创建了一个新的视图XIB,宽度和高度被禁用并变灰到320乘460.这很奇怪,因为我可以更改其他两个视图的大小(与另外两个标签栏相关联)项目).

我不确定这是否与此有关,但我最近将sdk更新为3.

谢谢!

iphone xcode interface-builder

87
推荐指数
4
解决办法
4万
查看次数

Xcode - 有没有办法将组件从一个视图拖到另一个视图而不会丢失它的框架?

我想要做的是在Xcode的界面构建器中将组件/视图从一个超级视图拖动到另一个超级视图,而不必重置其帧/位置.

执行此操作时,Xcode的默认行为似乎是使视图在其新的超视图中垂直和水平移动,同时保留其尺寸.这非常令人沮丧,因为这意味着需要在新的superview中手动重新定位视图.但是在我移动它之前我已经正确定位了,所以我希望Xcode能够记住它的框架的所有属性,而不仅仅是它的宽度/高度.这可能吗?

xcode interface-builder ios

86
推荐指数
4
解决办法
3万
查看次数

以编程方式发送到从界面构建器创建的前/后元素

在Interface Builder中,有布局选项发送到备份或发送到前方的任何元素,例如UIButton,UIImage,UILabel等...

现在,我想在运行时以编程方式执行相同的操作.

有一个简单的方法吗?

我不想创建不同的视图,只需更新z轴.

cocoa-touch interface-builder z-axis

84
推荐指数
2
解决办法
8万
查看次数

如何将NIB文件中的对象发送到前/后?

如何UIImageView在Xcode的集成界面构建器中调整对象的"z"位置(例如,向前/后发送s)?

iphone xcode objective-c interface-builder

84
推荐指数
3
解决办法
7万
查看次数

从 UIScrollview 中删除内容和框架布局指南

我制作了一个 Pod Xcode 11 和 iOS 13,创建了一个 UIScrollview 并将我的内容设置在那里。

在较旧的主项目上安装时,此警报消息显示:

iOS 11.0 之前的内容和框架布局指南

我可以在 Interface Builder 中看到上述布局指南:

界面生成器布局指南

我怎样才能删除它们?

xcode interface-builder ios

78
推荐指数
2
解决办法
2万
查看次数

iOS等效于Android View.GONE可见性模式

我正在为iOS开发一个应用程序,我正在使用带有AutoLayout ON的Storyboard.我的一个视图控制器有一组4个按钮,在某些情况下我想让第一个按钮消失.

如果我使用该setHidden:TRUE方法,UIButton变得不可见,但它仍然显然在视图中占用空间,结果是一个"洞",我无法填充,使剩余的UIButton浮动到主视图的顶部.

在Android中,我会简单地使用View.GONE而不是View.INVISIBLE,但在iOS中我坚持这种行为,我不想相信唯一的解决方案是手动(是的,我的意思是以编程方式)将剩余的元素移动到顶部.

我以为我能够设置某种约束来使一切像Android一样自动,但我没有运气.

在我关闭Autolayout之前,有人能指出我正确的方向吗?

我正在使用IB,但我对程序化的东西也很满意.

更新:

将组件高度设置为0也没有用.

我试过这样的事情:

UIButton *b;
CGRect frameRect = b.frame;
frameRect.size.height = 0;
b.frame = frameRect;
Run Code Online (Sandbox Code Playgroud)

iphone visibility interface-builder ios autolayout

77
推荐指数
6
解决办法
3万
查看次数

Xcode 11 添加新的约束设置为零:使用设置值而不是默认/标准

我曾经使用自动布局添加新约束来对超级视图/相对视图进行简单约束,如下所示(对于 loooong 时间):

在此处输入图片说明

但是,最近更新到最新的 xcode(11.3.3 或 11.3/11C29)后,我遇到了这个奇怪的问题:当我设置常量 = 0 时,它们总是以不需要的方式生成约束,如下所示:

在此处输入图片说明

似乎默认值在某种程度上是 20 并且让我的观点看起来如此错误(0 与 20 相比?)

如果我通过像这样编辑约束来解决这个问题:

在此处输入图片说明

然后它会再次更正(图像是在编辑约束之后,在编辑之前显示常量 = Standard

我什至不知道如何描述这个问题,但是我如何解决这个新问题add new constraint以使用我的愿望点而不是标准/默认值?

更新:

它似乎只发生在约束超级视图时。不知道如何修复tho。

2020 年 4 月 1 日更新:

Xcode11.4 修复了这个问题。

xcode interface-builder autolayout xcode11 xcode11.3

77
推荐指数
5
解决办法
8681
查看次数