标签: interface-builder

如何制作UIButton的文本对齐中心?使用IB

我不能使用IB作为中心来设置UIButton的标题.我的标题是多行的.
它是这样的
在此输入图像描述

但我想要这个
在此输入图像描述

我已经给了空间,但我不想这样做.由于它没有完全对齐某些情况,我知道UILabel有一个属性来设置对齐但我不想为此编写代码...只想从IB设置所有内容.

谢谢

objective-c interface-builder uibutton ios

133
推荐指数
9
解决办法
12万
查看次数

Xcode更改未修改的故事板和XIB文件

当多人合作时,故事板从git工作流角度来看是一种巨大的痛苦.例如,.storyboard文件中的XML具有其起始<document>标记toolsVersionsystemVersion属性,这些属性由最新文件操作符恰好运行的任何配置更改.大家同步的Xcode版本恰恰似乎帮助toolsVersion,但systemVersion变化不管是什么,这取决于具体的Mac和/或开发运行OS X的版本上.

这是愚蠢的,但大多是无害的.然而,令我们担心的是,在其他时候,只需在故事板之后打开它们,就会自动对故事板进行一些其他更改git pull.也就是说,Alice对故事板进行了更改,提交并将它们推送到存储库.然后鲍勃拉出爱丽丝的变化并打开故事板进行进一步的更改.他打开故事板的那一刻,文件图标立即变为修改,但是,未保存的状态,以及git status已发生的任何数量的变化怪异表演.所有这一切,没有鲍勃改变任何东西或自己保存文件.

我们看到的最常见的自动更改是<classes>故事板文件末尾附近整个标记层次的消失或重新出现.我们还没弄清楚造成这种情况的原因.我们可能在各种.lproj目录中有几个本地化版本的故事板,当在Interface Builder中打开它们时,类层次结构可能会自动从某些层次结构中删除并添加到其他版本中,或者单独留在某些层次结构中.这会导致很多噪音git diff,但实际上并没有破坏任何功能.我们经常会有选择地将我们所做的实际更改添加到git的索引中,提交那些,然后只丢弃自发的,荒谬的<classes>变化.这是为了保持提交小而好,因为它们应该是.然而,最终,由于Xcode不断重新进行更改,它变得太麻烦了,有人只是愤怒地提交它们以及其他一些东西......这很好,直到其他人的Xcode决定要将它们更改为否明显的原因.(我们的提交历史对此很多咒骂.)

是否有其他人看到这种行为?这是我们的一个或多个开发者Mac上的Xcode错误还是配置问题?我们在与XIB文件协作时已经看到了一些类似的行为,但故事板似乎更容易受此影响.

xcode interface-builder storyboard xib ios

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

在Interface Builder中删除autolayout(约束)

我正在尝试使我的项目与Snow Leopard兼容,并且我无法使用"界面"构建器(Lion上的XCode 4.3)删除nib中的autolayout.

是否可以在XCode上删除nib中的约束和自动布局?

macos xcode cocoa interface-builder osx-snow-leopard

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

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

XCode6大小类中的自定义字体大小调整与自定义字体无法正常工作

Xcode 6有一个新功能,可以在故事板中根据当前设备配置的大小类自动设置UILabel,UITextField和UIButton中的字体和字体大小.例如,您可以将UILabel设置为在"任何宽度,紧凑高度"(例如在横向上的iPhone上)配置上使用字体大小12,在"常规宽度,常规高度"配置(例如在iPad上)上使用大小18.更多信息请点击这里:

https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/Size-ClassSpecificLayout.html

这在理论上是一个非常好的功能,因为它可以使得不必根据设备配置以编程方式在UI功能上设置不同的字体.现在,我有一些条件代码根据设备类型设置字体,但显然这意味着我必须在整个应用程序的各个地方以编程方式设置字体.所以我最初对此功能感到非常兴奋,但我发现它在实际使用中存在严重问题(可能是一个bug).请注意,我正在构建针对SDK 8并设置iOS 8的最低部署目标,因此这与与旧版iOS的兼容性无关.

问题是:如果我为不同的大小类设置不同的字体大小,并使用iOS提供的"系统"字体,一切都按预期工作,字体大小根据大小类更改.如果我使用我的应用程序提供的自定义字体(是的,我在应用程序包中正确设置,因为它以编程方式工作)并将自定义字体设置为XCode 6故事板中的标签,这也可以按预期工作.但是当我尝试为不同大小的类使用不同大小的自定义字体时,在故事板中,它突然不起作用.配置的唯一区别是我选择的字体(自定义字体与系统字体).相反,所有字体都显示在设备和模拟器上作为默认大小的默认系统字体,无论大小等级(我通过调试器验证它是用系统字体替换故事板中指定的实际字体) .所以基本上,自定义字体的大小类功能似乎已被破坏.另外,有趣的是,自定义字体实际上在视图控制器的XCode 6"预览"窗格中正确显示和调整大小:只有在实际的iOS系统上运行它才停止工作(这让我觉得我正在配置它正确).

我尝试了多种不同的自定义字体,它似乎不适用于任何一种,但如果我使用"系统",它总是有效.

无论如何,还有其他人在Xcode 6中看到过这个问题吗?关于这是否是iOS 8,Xcode中的错误或者我做错了什么的任何想法?我发现,我发现的唯一解决方法是继续以编程方式设置字体,就像我已经为大约3个版本的iOS一样,因为这确实有效.但我希望能够使用此功能,如果我可以使用自定义字体.我们的设计不接受使用System字体.


附加信息:从Xcode 8.0开始,修复了错误.

interface-builder ios xcode6 ios8 size-classes

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

我可以在运行时禁用特定子视图的自动布局吗?

我有一个视图,需要以编程方式操作它的框架 - 它是一种包含其内容的文档视图,然后通过操作框架原点滚动并围绕超视图进行缩放.Autolayout在运行时与此斗争.

完全禁用自动布局似乎有点苛刻,因为它可以合理地用于处理其他视图的布局.看起来我可能想要的是某种"空约束".

xcode interface-builder xcode4 xcode4.3 autolayout

102
推荐指数
7
解决办法
8万
查看次数

处理UILabel中的触摸事件并将其连接到IBAction

好的,所以我UILabel在界面构建器中创建了一些显示"tap to begin"的默认文本.

当用户点击UILabel我想要它触发IBAction方法时: -(IBAction)next;它更新标签上的文字以说出新的东西.
如果这允许我简单地将连接从我的方法拖到我的标签然后选择内部触摸,就像按钮一样,那将是非常方便的.但是,唉,没有雪茄.

所以无论如何,我想我的问题是,我是否必须继承UILabel才能使其工作?或者是否有某种方法可以在标签上拖动按钮,但使其为0%不透明.或者是否有一个我想念的更简单的解决方案?

iphone interface-builder uilabel touch-event ios

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

有没有人知道在使用Xcode 4.5编辑故事板时新的Exit图标用于什么?

右键单击"退出"图标会生成一个空窗口.无法按住Ctrl键将连接拖动到任何IB元素或相应的源文件.文件没有爱.不出现在nib文件中,只出现在故事​​板中.我的假设是它是segues的必然结果,但我没有看到任何新的方法来支持它.任何人?

interface-builder uistoryboard uistoryboardsegue ios6 xcode4.5

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

如何在Interface Builder中使用UIScrollView?

虽然我UIScrollView过去通过编程方式成功地使用它,但是通过在Interface Builder中专门设置它而无法使它工作.

我的iPhone应用程序中有一个简单的"关于"页面.它有UITextView一些图标和我其他应用程序的链接.我已经将所有这些视图添加到了我的视图中UIScrollView,使它们的总大小> 480.当我启动我的应用程序时,scrollview只显示适合屏幕的内容,而不会滚动任何内容.

是否可以通过IB完全执行此操作,还是必须通过代码操作contentSize?

iphone interface-builder uiscrollview ios

95
推荐指数
5
解决办法
6万
查看次数

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万
查看次数