簡體   English   中英

如何引用UIImageView(Xcode iOS)

[英]How to Reference UIImageView (Xcode iOS)

我剛剛開始學習Xcode和Objective C的基礎知識,並且我正在制作一個基本的手電筒應用程序作為起點。

我已經掌握了大部分的基礎知識,但是我不知道如何從一個單獨的動作中引用另一個元素(我不知道這個術語是否正確)。

例如:

- (IBAction)screenButtonClicked:(id)sender {
    UIButton *button = (UIButton *)sender;
    if (_ScreenOnOff) {
        [self.view setBackgroundColor:[UIColor blackColor]];
        [button setTitle:@"Screen (Off)" forState: UIControlStateNormal];
    }
    else {
        [self.view setBackgroundColor:[UIColor whiteColor]];
        [button setTitle:@"Screen (On)" forState: UIControlStateNormal];
    }
    _ScreenOnOff = !_ScreenOnOff;
}

我在情節提要上有一個與之鏈接的按鈕,並且我有一個要顯示和隱藏的UIImageView(取決於if)。

我到處都在尋找如何做到這一點的方法,並盡我所能將其放入Google,但沒有運氣。

這可能是目標C的第一步,但請幫助,因為它會教我。

提前致謝。

在頭文件中為UIImageView聲明一個IBOutlet:

@property (weak) IBOutlet UIImageView *myImageView;

之后,將UIImageView連接到Interface Builder中的此IBOutlet。

然后,您可以像這樣引用(並隱藏它):

self.myImageView.hidden = _ScreenOnOff;

在您的實施文件中。


另請參閱: 創建和連接插座

此操作可能歸您的視圖控制器所有。 如果視圖控制器具有名為“ imageView”的UIImageView屬性,則可以像使用_ScreenOnOff一樣從操作內部訪問它。

要隱藏圖像視圖,您可以執行以下操作:

self.imageView.hidden = YES;

請注意,使用self.imageView和self.ScreenOnOff非常重要,而不是通過_imageView直接訪問該屬性。 當您在類中聲明屬性(無論是否為IBOutlet)時,編譯器都會將訪問器方法綜合到該屬性(獲取和設置)。 因此,當您調用self.ScreenOnOff時,它類似於[self ScreenOnOff]。

您可以通過“ _”直接訪問屬性的唯一地方是init和dealloc方法中。 '-(void)viewDidLoad'是init方法的類型。 我想你想要這樣的東西:

- (IBAction)screenButtonClicked:(id)sender {
UIButton *button = (UIButton *)sender;
if (self.ScreenOnOff) {
    [self.view setBackgroundColor:[UIColor blackColor]];
    [button setTitle:@"Screen (Off)" forState: UIControlStateNormal];
    self.imageView.hidden = YES;
}
else {
    [self.view setBackgroundColor:[UIColor whiteColor]];
    [button setTitle:@"Screen (On)" forState: UIControlStateNormal];
    self.imageView.hidden = NO;
}
self.ScreenOnOff = !self.ScreenOnOff;

}

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM