#iphone #objective-c #uitableview
#iPhone #objective-c #uitableview
Вопрос:
я новичок в разработке iphone, я хотел уменьшить размер раздела в представлении сгруппированной таблицы, то есть уменьшить ширину раздела. как это можно реализовать заранее спасибо
Комментарии:
1. вы пробовали уменьшить ширину всего tableview?
2. @Nick Weaver: На самом деле, я и этого не знал. я хочу сделать это как для раздела, так и для табличного представления
3. Вы можете задать размер всего TableView с помощью
myTableView.frame = CGRectMake(x,y,width,height);
. Вы должны скорректировать значения для CGRectMake. Раздел должен соответственно уменьшиться. Пожалуйста, попробуйте это и скажите нам, соответствует ли это вашим потребностям.4. @Nick Weave: да, я проверю и расскажу тебе..
5. @Nick Weave: привет, я хочу изменить ширину строки в табличном представлении, а не размер табличного представления..
Ответ №1:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return kHeightForHeaderInSection;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
// wrapperView - by default has the width of the table, you can change the height
// with the heightForHeaderInSection method
UIView *aView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
// your real section view: a label, a uiview, whatever
CGRect myFrame; // create your own frame
myFrame.origin = CGPointMake(10, 0);
myFrame.size = CGSizeMake(tableView.bounds.size.width-10,kHeightForHeaderInSection);
UILabel *label = [[[UILabel alloc] initWithFrame:myFrame] autorelease];
label.text = @"myText"
[aView addSubview:label];
return aView;
}
Комментарии:
1. в вашем делегате TableView вам необходимо реализовать описанный выше метод. viewForHeaderInSection возвращает view (назовем MyView) с высотой, равной значению, возвращаемому heightForHeaderInSection, и шириной, равной ширине TableView. На этом этапе вы можете просто создать и добавить свой целевой вид (т. Е. метку) с вашим собственным определенным фреймом и добавить его в MyView. Другим подходом было бы создание подкласса методов UILabel: — textRectForBounds: limitedToNumberOfLines: и -drawTextInRect:.
Ответ №2:
Привет, добавьте этот метод UITableViewDelegate
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return height;
}
Ответ №3:
это очень простое решение…
@interface MyController : UIViewController <UITableViewDelegate, UITableViewDataSource>
{
IBOutlet UITableview *myTableview;
просто щелкните правой кнопкой мыши на «UITableViewDelegate» и «UITableViewDataSource»
n внедрите все делегаты …. вы найдете все типы настроек там….если вы хотите изменить или отрегулировать высоту или ширину раздела или строки … или сколько разделов или строк в разделе вы хотите …. это просто n вызывается автоматически…. с уважением