我想設定一個tableView 的 contentInsets
屬性一直是 0,這是我的程式碼:
class_replaceMethod([UITableView class], @selector(setContentInset:), (IMP)setContentInsetZero, "@");
setContentInsetZero
函數 :
void setContentInsetZero(id SELF, SEL _cmd, UIEdgeInsets insets) {
Ivar tableViewInsets = class_getInstanceVariable([UITableView class], "_contentInset");
object_setIvar(SELF, tableViewInsets, [NSValue valueWithUIEdgeInsets:UIEdgeInsetsZero]);
}
會走這個函數,但是並沒有什麼卵用… 求大神解惑
淡淡烟草味2017-04-28 09:08:09
class_replaceMethod([UITableView class], @selector(setContentInset:), (IMP)setContentInsetZero, "@");
第三個參數為什麼要傳"@"呢,應該傳:
method_getTypeEncoding(class_getInstanceMethod([UITableView class], @selector(setContentInset:)))