-2

我有这个简单的故事板:

在此处输入图像描述

它的作用非常简单……如果按下 buttonOne,它将转到 UIView *viewTwo。当按下导航栏上的返回按钮时,它将返回到 ViewController。

现在,我想玩的是当按下这个 buttonOne 时,我想添加一些颜色作为 viewTwo 的背景。

这是我的 .h 文件:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIView *viewTwo;

- (IBAction)buttonOne;

@end

这是我的 .m 文件:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)buttonOne {
    UIColor *colour = [[UIColor alloc]initWithRed:27.0/255.0 green:56.0/255.0 blue:152.0/255.0 alpha:1.0];
    _viewTwo.backgroundColor = colour;
}
@end

该代码没有任何问题......成功构建并在模拟器上运行而没有错误,但为什么viewTwo上没有显示颜色?

我在这里错过了什么?谢谢。

更新:我添加了这一行:

[colour release];

但它似乎release不适用于我的 Xcode。它说 :

“释放”不可用。在自动引用计数模式下不可用。

4

1 回答 1

1

你需要实现 prepareForSegue storyBoard 委托方法,记得在 storyboard 场景中命名 segue 标识符

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"You segue name identifier"])
    {
        UIViewController* viewController = segue.destinationViewController;
UIColor *colour = [[UIColor alloc]initWithRed:27.0/255.0 green:56.0/255.0 blue:152.0/255.0 alpha:1.0];
    viewController.view.backgroundColor = colour;

您可以删除: - (IBAction)buttonOne 方法

于 2013-09-10T19:33:33.650 回答