2015-09-02 60 views
1

我發現一個目標C項目,我試圖修改,正如你所看到的,我得到的是創建一個UIImageView的一個功能:另一種方式來聲明在Objective-C的imageview的

- (UIImageView*)homePage:(YouzikHomePageView*)homePageView imageDataForImageView:(UIImageView*)imageView; 
{ 
    [imageView setImage:[UIImage imageNamed:@"background"]]; 

    return imageView; 
} 

問題是我想要修改每10秒顯示的圖像,這需要獲取在ViewDidLoad方法中聲明的UIImageView,是否有可能?我嘗試這樣做:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self setupNa... 

    [self.homePa... 

    [self hid... 

    [self setuphomePag... 

    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background"]]; 

    [self.homePageView addSubview:imageView]; 

} 

但它不dispaying什麼,感謝所有,請原諒我蹩腳的英語。

+0

如果您的問題被回答,[請花一分鐘接受幫助你答案】(http://stackoverflow.com/help/someone-answers)。它標誌着你的問題得到解答,並使每個人都受益。 –

回答

1

你的代碼正在做什麼是創建和添加imageViews到子視圖。

這可能不是您打算做的事情,並且您不希望每10秒鐘繼續創建和添加更多的imageViews,因爲您最終會耗盡內存。

您通常會在視圖控制器上擁有imageView屬性,並通過設置其image屬性來更改其圖像。

在HomeViewController.h

@property (weak, nonatomic) IBOutlet UIImageView *myImageView; 

在HomeViewController.m

self.myImageView.image = [UIImage imageNamed:@"background"]; 

至於改變圖像每十秒鐘,你會設置一個計時器

myTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(changeImage) userInfo:nil repeats:YES]; 

並設置一個新的形象在你的changeImage方法

- (void)changeImage 
{ 
    self.myImageView.image = ...; 
} 
相關問題