2013-03-14 69 views
-5

如果这是在Interface Builder创建并已指向另一个viewController如何识别代码该按钮一个按钮,给它一个代码正常和选择状态的自定义背景?的样式是在Interface Builder创建的按钮

UIImage *registerButtonNormal = [[UIImage imageNamed:@"yellowRegisterButton"]resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)]; 

[self.registerButton setBackgroundImage:registerButtonNormal forState:UIControlStateNormal]; 


UIImage *registerButtonSelected = [[UIImage imageNamed:@"yellowRegisterButtonSelected"]resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)]; 

[self.registerButton setBackgroundImage:registerButtonSelected forState:UIControlStateSelected]; 
+0

的可能重复[如何改变一个按钮,我在Xcode界面生成器创建的图像?](http://stackoverflow.com/questions/9263418/how-do-i-change-the-image-我在这个按钮上创建了这个xcode接口构建器) – Till 2013-03-14 00:43:36

+1

我把这个问题/答案,因为我没有发现其他问题/答案明确不够。他们都遗漏了我需要帮助回答的问题的一个重要部分,所以当我最终了解它时,我决定与其他初学者分享我以更明确的方式学到的知识。 – Arel 2013-03-14 02:36:04

回答

1

这其实很简单。

你只需要创建一个@property,并通过控制从按钮拖动到新创建的属性,您希望按钮连接到风格。

的属性应该是这个样子:

@property (nonatomic, strong) IBOutlet UIButton *registerButton; 

然后在viewDidLoad中,你把针对您的按钮,上面的代码:

- (void)viewDidLoad 
    { 
     [super viewDidLoad]; 

    // code for styling button goes here. 

    } 

你可以看到代码样式按钮在问题中。

+0

你不需要使按钮成为一个属性。简单地在'@interface'下创建按钮的引用就足够了。如果您计划访问其他课程中的按钮,则只需将该按钮设置为课程的一个属性即可。否则,只需将按钮的范围设置为所在类即可。 – 2013-03-14 00:41:31

+1

不,您不需要将其设置为属性。但是这是一个更好的风格,并且@Arel推荐的正确方法是。 – 2013-03-14 00:50:30

+0

@DaveBatton我没有意识到。你能解释为什么吗?我认为最好的做法是保持变量的范围有限,如果没有必要从课堂外访问它。 – 2013-03-14 00:53:44

相关问题