画面の下部に合計 5 つのボタンを追加したいのですが、ペン先の最初のロード時に 4 つしか表示されません。
ユーザーが最初のボタンを押すと、アニメーションで消え、2番目のボタンが最初の場所に来ます。最後に、画面にもう 1 つのボタン (ボタン 5 ) が表示されます。
より明確にするために、画像を追加しています。
画面 1. ペン先が最初にロードされたとき。
画面 2. ボタン 1 が押されたとき。
画面 3. ボタン 2 が押されたとき。
画面の下部に合計 5 つのボタンを追加したいのですが、ペン先の最初のロード時に 4 つしか表示されません。
ユーザーが最初のボタンを押すと、アニメーションで消え、2番目のボタンが最初の場所に来ます。最後に、画面にもう 1 つのボタン (ボタン 5 ) が表示されます。
より明確にするために、画像を追加しています。
画面 1. ペン先が最初にロードされたとき。
画面 2. ボタン 1 が押されたとき。
画面 3. ボタン 2 が押されたとき。
このようなものはどうですか?完璧ではないので、いじってみる必要がありますが、正しい方向に向けて始められるはずです...
あなたの.hで
IBOutlet UIButton *firstButton, *secondButton, *thirdButton, *fourthButton
NSArray *buttonsArray;
あなたの.mで
-(void)viewDidLoad{
// VDL stuff
buttonsArray = [NSArray arrayWithObjects:@"One", @"Two", @"Three", @"Four", @"Five", @"Six", nil];
[firstButton setTitle:[buttonsArray objectAtIndex:0]];
[firstButton setTag:0];
// initial setup of the other three buttons works the same way
}
-(IBAction)updateButtons:(id)sender{
UIButton *btn = (UIButton*)sender;
int index = btn.tag;
for(int i = 0; i <4; i++){
if([buttonsArray count] > index+i){
switch(i){
case 0:;
[firstButton setTitle:[buttonsArray objectAtIndex:i+index]];
[firstButton setTag:i+index];
break;
case 1:; //secondButton
break;
case 2:; //thirdButton
break;
case 3:; //fourthButton
break;
}
}else{
break;
}
}
}
あとは、画面上の 4 つのボタンをアクションに接続するだけです。それ以外の場合は、最後に到達したら非表示にするロジックが必要になります (上記のスイッチ ケースとほとんど同じです)。それがあなたがしたいことなら配列。
あなたが試したコードを投稿していないので。
だからここに私があなたに提案できるいくつかのアイデアがあります.
押されたときにボタンを消したい場合は、ビューから削除する代わりに、そこに保持できますが、非表示にするだけです。たとえば、「ビューの視覚的外観」のプロパティを設定することで可能です(UIView クラス参照を探します)。アルファ値、隠しプロパティ。
非表示にしたら、たとえば 1/2 秒後に表示します。ボタンが表示されたら、ラベルのテキストを変更します。
場合によっては、4 つのボタンすべての UILabel テキストを設定する必要があります。label-text int 値を 1 ずつ増やします。