objective c - TableViewCell subviews can't access in IOS 7 -
i using customized tableviewcell in app. works fine ios 6 got error in ios 7. error occurred when access sub views of uitableviewcell
see code below got error
- (void)addbuttonclicked:(uibutton *)button { product *product = [productsarray objectatindex:button.tag]; nsstring *code = product.code; otatablecell *cell = (otatablecell *) [[button superview] superview]; cell.pricelabel; // here error } error shown is:
-[uitableviewcellscrollview pricelabel]: unrecognized selector sent instance 0x15d0ff80 please me solve problem. in advance.
need 1 more superview call:
otatablecell *cell = (otatablecell *)[[[button superview] superview] superview]; you can check like:
for ios >= 7:
nslog(@"%@",[[sender superview] class]); //uitableviewcellcontentview nslog(@"%@",[[[sender superview] superview] class]); //uitableviewcellscrollview nslog(@"%@",[[[[sender superview]superview]superview] class]); //uitableviewcell for ios < 7:
nslog(@"%@",[[sender superview] class]); //uitableviewcellcontentview nslog(@"%@",[[[sender superview] superview] class]); //uitableviewcell nslog(@"%@",[[[[sender superview]superview]superview] class]); //uitableview edit:if don't want rely on superview property:
uibutton *button = (uibutton *)sender; cgrect buttonframe = [button convertrect:button.bounds toview:self.table]; nsindexpath *indexpath = [self.table indexpathforrowatpoint:buttonframe.origin]; //access cell using indexpath:
uitableviewcell *cell=[self.table cellforrowatindexpath:indexpath]; cell.label=@"settext";
Comments
Post a Comment