我想製作一個具有水平滾動的菜單。如何在iOS中製作水平滾動菜單
該菜單包含共16個類別。所以我打算在第一部分取8分,在另一部分取8分。
有人能告訴我需要做什麼嗎?
我相信我需要使用下面。
UIScrollView
Add buttons in this scrollview
就是這樣?
我想要的是第一個屏幕8個按鈕,其中第一個屏幕將有兩行,每行4個按鈕設置。
我想製作一個具有水平滾動的菜單。如何在iOS中製作水平滾動菜單
該菜單包含共16個類別。所以我打算在第一部分取8分,在另一部分取8分。
有人能告訴我需要做什麼嗎?
我相信我需要使用下面。
UIScrollView
Add buttons in this scrollview
就是這樣?
我想要的是第一個屏幕8個按鈕,其中第一個屏幕將有兩行,每行4個按鈕設置。
如果你正在做的是添加按鈕,你會像下面做一些事情水平滾動視圖可以看到...
- (void)createScrollMenu
{
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 100)];
int x = 0;
for (int i = 0; i < 8; i++) {
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(x, 0, 100, 100)];
[button setTitle:[NSString stringWithFormat:@"Button %d", i] forState:UIControlStateNormal];
[scrollView addSubview:button];
x += button.frame.size.width;
}
scrollView.contentSize = CGSizeMake(x, scrollView.frame.size.height);
scrollView.backgroundColor = [UIColor redColor];
[self.view addSubview:scrollView];
}
這將創建一個滾動視圖高度爲100,寬度與其父母一樣大,併爲其添加8個按鈕。
您可以使用UIScrollView和UIButton對象完成您的目標,這將涉及根據您定位的iOS版本設置每個按鈕的框架/佈局屬性。 (正如Eric的回答)。
但是,如果您的目標是iOS 6及更高版本,請使用UICollectionView,其中的項目/單元格是按鈕,然後您可以免費獲取水平滾動「菜單欄」。這裏有很多SO貼子,但主要想法是使用流佈局,其中項目大小有一個高度,這樣只有一行項目(只需使項目高度與集合視圖的高度相同) 。
編輯:
我應該說,這似乎有點小題大做(也許是),但你最終會在情況需要改變未來一個更靈活的組件。它也不會產生太多額外的代碼,並將繁瑣的佈局細節抽象出來。
有一些更多的RND,我設法得到我想要的。謝謝你的幫助。 –
謝謝埃裏克它工作得很好:) –
嗨埃裏克,我做的一樣,水平滾動工作完美,但按鈕不顯示..! – mavericks