2011-06-30 5 views
0

私はスクロールビューにボタンを追加しようとしましたが、スクロールビューを実行できませんでした。私はビューに7つのボタンを追加したいが、私はそのユーザーがスクロールダウンすることによって7つのボタンすべてにアクセスできるようにしたい。どうやってやるの?スクロールビューに多数のボタンを設定するにはどうすればよいですか?

誰かが私を導くか、私に理解できるリンクを提供してください。

EDIT:

私はビューベースのアプリケーションを作成し、poo1ViewController.hでpoo1 &として命名した、

#import "poo1ViewController.h" 


@implementation poo1ViewController 

@synthesize a; 
@synthesize b; 
@synthesize c; 
@synthesize d; 
@synthesize e; 
@synthesize fView; 
-(IBAction) ia:(id)sender { 
} 


@end 

私はこのような

@interface poo1ViewController : UIViewController <infodelegate> 
{ 
IBOutlet UIButton *a; 
IBOutlet UIButton *b; 
IBOutlet UIButton *c; 
IBOutlet UIButton *d; 
IBOutlet UIButton *e; 
IBOutlet UIScrollView *fView; 
} 
@property (nonatomic,retain) UIScrollView *fView;; 
@property (nonatomic,retain) UIButton *a; 
@property (nonatomic,retain) UIButton *b; 
@property (nonatomic,retain) UIButton *c; 
@property (nonatomic,retain) UIButton *d; 
@property (nonatomic,retain) UIButton *e; 
-(IBAction) ia:(id)sender; 

と実装ファイルで

すべてのボタンのためのメソッド、今私はすべてのボタンは、アプリケーションが開くときに表示されますが、すべてのユーザーがスクロールする必要がアクセスするには、私はどのように私はわからない現在のビューでスクロールビューを補完するので、poo1ViewController.xibビューはスクロール可能になります。

+0

1)問題点を教えてください。あなたは何ができて何ができないのですか? 2)問題の解決に役立つコードを投稿してください。 – vfn

+0

@vfn私の投稿を更新しました。それを調べてください。 –

+0

@ Andrewの答えが行く方法です。 – vfn

答えて

0

UIScrollViewは、の中ではInterface Builderではありません。あなたはそれを引き伸ばす必要がありますし、最後にUIScrollViewのサイズを変更したい場合はUIButtonsを追加するか、UIScrollViewUIButtonsprogrammaticallyを追加する必要があります。

個人的には、このプログラムをプログラムで実行することを選択します。 UIButtonsをプログラムで作成することもできます(選択することもできます)。cornersを削除する場合は、ファイルのUIScrollViewに追加してIBOutletに接続してくださいコード。次に、あなたのコードでそれらのフレームをあなたが望む場所に設定します。

-(void)viewWillAppear:(BOOL)animated { 
    // CGRectMake(x,y,width,height) 
    a.frame = CGRectMake(20, 20, a.frame.size.width, a.frame.size.height);  
    b.frame = CGRectMake(20, 50, b.frame.size.width, b.frame.size.height); 

    // etc. etc. for the rest of your buttons 

そして、それ以外の場合はスクロールしません。あなたは、フレームを設定し、UIScrollViewcontentSizeことを確認してください。

myScrollView.frame = self.view.frame; 
    myScrollView.contentSize = CGSizeMake(self.view.frame.size.width, 
             myScrollView.frame.size.height 
       + how many pixels you want it to be able to scroll up and down>; 
} 
1

私も同じ問題がありました。プログラムでボタンを作成したため、ビューがスクロールしなかったため、すべてのボタンにアクセスできませんでした。重要なのはスクロールのコードの最後の行です。最初に、ボタンの特定の開始点「positionX」を設定します。その後、私はデータベースをループし、各エントリのボタンを作成します。新しいボタンを作成したら、positionXをボタンの高さ+ 10で増やします。すべてのボタンが作成されるとループが終了し、positionXの値がUIScrollViewの高さにも使用されます。

int positionX = 10; 

for (int i = 0; i < [activities count]; i++) { 

    //get single object out of nsarray 
    Activity *activity = [activities objectAtIndex:i]; 

    //create button for an activity 
    UIButton *activityButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [activityButton setTitle:activity.definition forState:UIControlStateNormal]; 
    activityButton.frame = CGRectMake(10, positionX, 300, 40); 
    [self.activityScrollView addSubview:activityButton]; 

    positionX += 50; 
} 

//set the content size of the scroll view 
[self.activityScrollView setContentSize:CGSizeMake(320, positionX + 20)]; 

this websiteでも便利です。私はチュートリアルを読んだ後に問題を解決しました。

関連する問題