![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
xcodeのobjective-cで書いています。
UIButtonをプログラムで複数生成し、
その後別のボタンを作成し、そのボタンを押したら任意のボタンを削除(隠すのではなく)する方法を模索しています。
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
for (int i = 0; i < 5; i++) {
UIButton *bt = [UIButton buttonWithType:UIButtonTypeRoundedRect];
bt.frame = CGRectMake(20.0f, 20.0f + (i * 25),
20.0f, 20.0f);
bt.tag = i;
[bt addTarget:self
action:@selector(pushBt:)
forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:bt];
}
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)pushBt:(UIButton *)sender {
[sender removeFromSuperview];
}
押したボタンを消す事はできるようなのですが、
一度に全て消す、tagの1と2を消す等の方法や考え方などご教授お願いします。
No.1ベストアンサー
- 回答日時:
配列を用いた方法です。
@implementation ViewController{
NSMutableArray *btnIndex;
}
- (void)viewDidLoad{
//配列の初期化
btnIndex = [[NSMutableArray alloc]init];
for(int i = 0; i < 5; i++){
UIButton *bt = [UIButton buttonWithType:UIButtonTypeRoundedRect];
(省略)
[self.view addSubview:bt];
//配列にボタンを追加
[btnIndex addObject:bt];
}
//別のボタン作成
UIButton *anyBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[anyBtn addTarget:self
action:@slector(removeBtn:)
forControlEvents:UIControlEventTouchUpInside];
(略)
}
- (void)removeBtn:(id)sender{
//全消し,if文追加で1番目と2番目消し
for(int i = 0; i < [btnIndex count]; i++){
UIButton *btn = [btnIndex objectAtIndex:i];
// if(i == 0 || i == 1){
[btn removeFromSuperview];
// }
}
}
他で使わなければ配列のリスト削除も。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 xは位置 yは速さ tは時刻 (1) x=a sin(bt+c) (2) v=a sin(bt+c) 4 2023/06/14 02:09
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- その他(コンピューター・テクノロジー) PC利用中に勝手に起動する窓を消し去る方法を教えて下さい。 1 2023/05/08 16:48
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- 据え置き型ゲーム機 PS4の音声をBluetoothイヤホンで聴きたい 1 2022/11/07 03:07
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- 留学・ワーキングホリデー カナダカレッジ留学 OSSD with courses from the College (C), 1 2023/01/15 03:57
- 画像編集・動画編集・音楽編集 CyberLinkPowerDirectorでDVD作成時タイトル/チャプターのボタンが押せない 1 2023/04/09 12:30
- 数学 微分方程式の積分定数について 5 2023/07/13 08:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 配列の長さの上限
-
Vbaで数式をポーランド記法に変...
-
動的に作成した構造体配列の中...
-
配列を使わずに、変数名を動的...
-
配列同士の文字列の比較
-
【C言語】配列の中に配列を入れ...
-
銀行ATMの数字キーの配列
-
objective-cでUIButtonを作成後
-
ExcelVBAで質問です。離れた二...
-
Excel、VBAのユーザーフォーム...
-
VBで構造体の配列を関数に渡す...
-
パスカルの三角形
-
メモリの初期値
-
C言語の配列のサイズ
-
C言語 配列問題について
-
キーボード配列の違いの対処法
-
C言語で特定列だけを抽出して配...
-
%dなどの違い
-
関数から配列を返すには?
-
VBScriptで重複レコードを削除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
先頭アドレスとは何ですか?
-
配列で格納したものをmsgboxで...
-
C# Listを使わずに2次元配列の...
-
C# 配列の変数宣言について。
-
テキストファイルから文字列を...
-
配列の参照渡しで型が一致しま...
-
ExcelVBAで質問です。離れた二...
-
unsigned char配列への入力の仕方
-
VBで構造体の配列を関数に渡す...
-
C++ vectorに配列をプッシュしたい
-
C言語で特定列だけを抽出して配...
-
Excel、VBAのユーザーフォーム...
-
複数の選択範囲の行番号を個別...
-
配列をEraseしてもメモリが開放...
-
配列を含む構造体の初期値について
-
【速いブラインドタッチ】手を...
-
C言語 配列の再初期化
-
Redimした動的配列はEraseする...
おすすめ情報