سؤال

وأنا تحديد ارتفاع الصف بلدي UITableView باستخدام رمز التالي

[tableView setRowHeight: 100.00];

وأنا على استخدام خط واحد كفاصل في UITableView.

وإفنثوو تحديد الارتفاع فوق، وارتفاع الصف لا يحصل التغيير.

هل كانت مفيدة؟

المحلول

ويجب تنفيذ

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

وطريقة مندوب. والعودة 100.0 هناك.

نصائح أخرى

ويجب تجنب heightForRowAtIndexPath إذا كان كل الصفوف هي من ارتفاع مماثل واستخدام الخاصية rowHeight. استنادا إلى وثائق:

<اقتباس فقرة>   

وهناك آثار الأداء باستخدام tableView: heightForRowAtIndexPath: بدلا من rowHeight. في كل مرة يتم عرض طريقة عرض جدول، فإنه يدعو tableView: heightForRowAtIndexPath: على مندوب عن كل الصفوف، والذي يمكن أن يؤدي إلى مشكلة كبيرة في الأداء مع إطلالة الجدول وجود عدد كبير من الصفوف (حوالي 1000 أو أكثر)

في فئة فرعية UITableViewController أنه يمكن القيام به، على سبيل المثال، في طريقة viewDidAppearUITableViewController لديه إشارة إلى tableView):

self.tableView.rowHeight = 79.f;

وتخبز ارتفاع الصف في الخلايا عند عرضها لأول مرة.

هل قمت بتعيين UITableView # rowHeight قبل تحديد مصدر البيانات منتديات إن لم يكن، أن تفعل ذلك.
إذا لأي سبب من الأسباب كنت لا تستطيع، الخيار الآخر هو لاستدعاء UITableView # reloadData بعد ضبط ارتفاع الصف.

وفعلت مثل هذا، هنا tableobj ليست سوى كائن UITableView في طلبي.

- (void)viewDidLoad
{
    [super viewDidLoad];
    [tableObj setRowHeight:100.0f];
}

وأو التعامل معها في numberOfRowsInSection: مثل:

- (NSInteger)tableView:(UITableView *)tblView numberOfRowsInSection:(NSInteger)section {
    [tableObj setRowHeight:100.0f];
    return [soandso count]; // soandso is my object
}

ولأن تعيين rowHeight قبل تحديد مصدر البيانات. لأنها عملت لي (لارتفاع الصفوف متساوية).

والحل الأفضل والأنظف هو تنفيذ وظيفة مندوب (ربما ليس أفضل واحد إذا UITableView لديه العديد من الصفوف ...).

وأيضا، أعتقد أن UITableVieCell هي UIView بحيث يمكن تغيير ارتفاعها أولا ...

والتفويضات قوية جدا في اي فون ديف، وهنا UITableViewDelage:

http://developer.apple كوم / اي فون / مكتبة / وثائق / uikit / إشارة / UITableViewDelegate_Protocol / المرجع / Reference.html

ويمكنك أيضا تغيير indentForRow، displayCellForRow، heightForRow، تحرير الاشياء .....

وأنا لا أعتقد أن هناك مثل هذا الأسلوب في UITableView ...

وبدلا من ذلك يمكنك استخدام الخاصية rowHeight ...
محاولة، tableView.rowHeight = 100؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top