Xcode開発は初めてですが、iPhoneアプリでslide-up menu
トリガーを開発したいと思います。UIToolbar
私が見ているのは、メニューボタンを使用してサブビューを作成し、それをメインビューに追加し、toggle
ボタンをタップしたときに上(表示)または下(非表示)にスライドすることです。
これをプログラムで行うにはどうすればよいですか?!iPhone用のOperaアプリはこれをうまく行います(写真を参照)。
Xcode開発は初めてですが、iPhoneアプリでslide-up menu
トリガーを開発したいと思います。UIToolbar
私が見ているのは、メニューボタンを使用してサブビューを作成し、それをメインビューに追加し、toggle
ボタンをタップしたときに上(表示)または下(非表示)にスライドすることです。
これをプログラムで行うにはどうすればよいですか?!iPhone用のOperaアプリはこれをうまく行います(写真を参照)。
あなたが言っていることは、メインビューにサブビューを追加し、それを上下にスライドさせて表示および非表示にすることにより、コードで実行できます。
1)サブビューを遠いy座標に追加して、最初はビューに表示されないようにします。
subView = [[UIView alloc]initWithFrame:CGRectMake(0,470,320,200)]]; // subView is an ivar
// Add stuffs to your subview
[self.view addSubview:subView];
2)次に、2つのIBActionのshowMySubviewとhideMySubviewを作成し、それらを対応するボタンにリンクします。または、label.textを確認して、1つのボタンを切り替えることができます。
3)showMySubviewで
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationDelay:0.0];
subView.frame = CGRectMake(0, 50, 320, 200);
[UIView commitAnimations];
4)hideMySubviewで
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationDelay:0.0];
editPopUpView.frame = CGRectMake(0, 470, 320, 200);
[UIView commitAnimations];
また、サブビューにいくつかの美化を行って、QuartzCoreフレームワークをプロジェクトに追加し、それを.mファイルにインポートして、サブビューをメインビューに追加した後にこれらの行を追加することもできます。インポートは #import "QuartzCore/QuartzCore.hです。 「」
[[subView layer] setCornerRadius:12.0f];
[[subView layer] setMasksToBounds:YES];
[[subView layer] setBorderWidth:4.0f];
[subView layer].borderColor = [UIColor purpleColor].CGColor;
これがとにかくあなたを助けることを願っています:)
編集 :
サブビューにコードを介してボタンを追加する:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(j*60,200+ 35 * i ,50 , 30);
//[btn setTitle:@"Test" forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"selected.png"] forState:UIControlStateHighlighted];
btn.tag = (j + 1) + (3 * i);
[btn addTarget:self action:@selector(subViewButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
btn.showsTouchWhenHighlighted = YES;
[subView addSubview:btn]; // its the subview we added to our main view add this after initializing the subview
}
}
すべてのボタンのクリックをキャッチする機能になりました
-(IBAction)subViewButtonClicked:(id)sender
{
switch ([sender tag]) {
case 1:
{
// Do your stuff here
NSLog(@"the tag of sender is %i",[sender tag]);
break;
}
case 2:
{
// Do your stuff here
NSLog(@"the tag of sender is %i",[sender tag]);
break;
}
case 3:
{
// Do your stuff here
NSLog(@"the tag of sender is %i",[sender tag]);
break;
}
case 4:
{
// Do your stuff here
NSLog(@"the tag of sender is %i",[sender tag]);
break;
}
case 5:
{
// Do your stuff here
NSLog(@"the tag of sender is %i",[sender tag]);
break;
}
case 6:
{
// Do your stuff here
NSLog(@"the tag of sender is %i",[sender tag]);
break;
}
case 7:
{
// Do your stuff here
NSLog(@"the tag of sender is %i",[sender tag]);
break;
}
case 8:
{
// Do your stuff here
NSLog(@"the tag of sender is %i",[sender tag]);
break;
}
case 9:
{
// Do your stuff here
NSLog(@"the tag of sender is %i",[sender tag]);
break;
}
default:
break;
}
}
そこには多くの簡単な方法があるかもしれませんが、これがあなたにスタートを与えることを願っています:)