我試圖做一個按鈕,基本上模仿iphone的主屏幕上看到的按鈕 - 它有一個垂直放置在一些文本上方的圖片,並且都是按鈕的一部分,行爲適當(暗淡,可點擊等)。UIButton與圖片和文字
我已經嘗試將圖片或文本放入其自己的框架,但不起作用,因爲無論在新框架中不會與其餘的按鈕變暗。
使用背景圖片屬性不起作用,因爲我想要圖片上方的文字 - 文字背後的區域應該是透明的。我真的更喜歡編程解決方案,而不是進入和編輯我的所有照片。
我試圖做一個按鈕,基本上模仿iphone的主屏幕上看到的按鈕 - 它有一個垂直放置在一些文本上方的圖片,並且都是按鈕的一部分,行爲適當(暗淡,可點擊等)。UIButton與圖片和文字
我已經嘗試將圖片或文本放入其自己的框架,但不起作用,因爲無論在新框架中不會與其餘的按鈕變暗。
使用背景圖片屬性不起作用,因爲我想要圖片上方的文字 - 文字背後的區域應該是透明的。我真的更喜歡編程解決方案,而不是進入和編輯我的所有照片。
創建UIView的子類,並將UIImageView和UILabel作爲子視圖,並使用代碼正確定位它們。
你會再有UIImageView的和的UILabel作爲屬性,讓你可以訪問它們,就像這樣:
myCustomButton.imageView.image = [UIImage imageNamed:@"..."];
myCustomButton.textLabel.text = @"...";
或者你也許可以找到一個第三方自定義的UIView,在互聯網上GitHub上什麼。
喬納森的想法是一個很好的想法,但如果你只是與一對夫婦的圖像做它不值得的麻煩。您可以創建一個UIImage
和一個UILabel
,然後將它們放置在界面構建器的UIButton中。
不過,學習強大的功能(如子類化)總是一個好主意。
祝你好運,
奧羅拉奎拉
創建一個新的開始透明位圖繪圖環境,繪製圖像的頂部和文本的底部。然後從這個繪圖上下文創建一個新圖像,並使用該新圖像作爲按鈕。
做到這一點:
UIButton *btn_chat = [UIButton buttonWithType:UIButtonTypeCustom];
btn_chat.frame = CGRectMake(40, 50, 100, 30);//CGRectMake(20, 20, 200, 72);
UIImage *image = [UIImage imageNamed:@"chat.png"];
CGSize newSize = CGSizeMake(30, 30);
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[btn_chat setImage:newImage forState:UIControlStateNormal];
btn_chat.imageEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
[btn_chat setTitle:@"Chat" forState:UIControlStateNormal];
btn_chat.titleEdgeInsets = UIEdgeInsetsMake(0, 20, 0, 0);
btn_chat.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
[btn_chat addTarget:self action:@selector(menuSelection:) forControlEvents:UIControlEventTouchUpInside];
[btn_chat setTag:1001];
[self.view addSubview:btn_chat];
它完成:)
看到這個答案http://stackoverflow.com/a/11847383/1418457 – onmyway133 2014-12-19 03:07:28