簡體   English   中英

點擊時如何放大UIImageView

[英]How To Enlarge UIImageView When Tapped

我對編程很新,所以我在嘗試這樣做時遇到了一些問題。 我有一個在UIImageView中顯示圖像的應用程序,我希望當用戶點擊它時圖像放大。 我認為最簡單的方法是在UIImageView上隱藏一個半透明按鈕,並在用戶點擊它時觸發一個動作。 這就是我能得到的,我不知道我的行動方法應該是什么樣子。 這是我到目前為止:

- (IBAction)enlargeImage1:(id)sender {
    CGRect myImageRect = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 80.0f); 
    UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect]; 
    [myImage setImage:[UIImage imageNamed:@"gradient-253x80.png"]]; 
    [self.view addSubview:myImage];

}

我的UIImageView被命名為imageView,我將上面的方法附加到了imageView上的UIButton。 當我點擊圖像時,它根本不會放大。 非常感謝任何幫助或建議,謝謝!

有兩種方法可以解決這個問題。 你可以看到一個透明按鈕,它可以響應一個水龍頭,並在下方有圖像視圖。

另一種方法是簡單地取消UIImageView並簡單地使用UIButton。 您可以將xib / storyboard中的按鈕類型設置為自定義按鈕。 然后,您可以在界面構建器中設置按鈕的圖像或背景圖像。 您只需將按鈕連接到動作即可。

您的操作可能類似於頭文件中的以下內容:

- (IBAction)buttonTapped:(id)sender;

在您的實現中,您只需根據您的方法更改UIImageView或UIButton的框架。

- (IBAction)buttonTapped:(id)sender {
    UIButton *button = (UIButton *)sender;
    [button setFrame:CGRectMake(0, 0, 100, 100)];
    // or [yourImageViewName setFrame:CGRectMake(0, 0, 100, 100)];
}

您需要調整CGRectMake中的值以滿足您的需求。 前兩個參數是按鈕/圖像在其父視圖中顯示的位置的x和y坐標。 后兩個參數是按鈕/圖像的寬度和高度。

希望有所幫助。

*編輯您是否已將UIImageView連接到頭文件中的插座?

在您的方法中,您只需更改現有圖像的大小,而不是創建另一個圖像。 你可以這樣做:

[self.imageView setFrame:CGRectMake(0, 0, self.view.frame.size.width, 80)];

暫無
暫無

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

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