2014-09-20 3 views
0

사용자가 탭 막대를 탭하면 tableView가 맨 위로 스크롤되도록하고 싶습니다.Swift TableView scrollsToTop

self.tableView.scrollsToTop = true 

을했지만 작동하지 않습니다

내가있는 viewDidLoad 방법에 설정합니다.

다른 스크롤보기가 없습니다. 내 viewController 경우에만이 tableView 포함되어 있습니다.

나는이 시도했지만 작동하지 :

override func scrollViewShouldScrollToTop(scrollView: UIScrollView) -> Bool { 
    if scrollView == self.tableView { 
     return true 
    } 

    else { 
     return false 

    } 
} 

내보기 :

(lldb) po [[UIWindow keyWindow] recursiveDescription] 
<UIWindow: 0x156d16550; frame = (0 0; 320 568); gestureRecognizers = <NSArray: 0x178247ef0>;  layer = <UIWindowLayer: 0x17803f060>> 
| <UILayoutContainerView: 0x1781fdb00; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x1782206c0>> 
    | | <UITransitionView: 0x156d0ed30; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x178038960>> 
    | | | <UIViewControllerWrapperView: 0x178197c40; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x17822b7e0>> 
    | | | | <UILayoutContainerView: 0x1781fe200; frame = (0 0; 320 568); autoresize = W+H; gestureRecognizers = <NSArray: 0x17805f950>; layer = <CALayer: 0x178220a40>> 
| | | | | <UINavigationTransitionView: 0x156e10fd0; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x1780368c0>> 
| | | | | | <UIViewControllerWrapperView: 0x170197b70; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x170225040>> 
| | | | | | | <UITableView: 0x157844c00; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x170248d30>; layer = <CALayer: 0x1702243a0>; contentOffset: {0, 6237}; contentSize: {320, 39000}> 
| | | | | | | | <UITableViewWrapperView: 0x156e13680; frame = (0 0; 320 568); gestureRecognizers = <NSArray: 0x170248f70>; layer = <CALayer: 0x1702247e0>; contentOffset: {0, 0}; contentSize: {320, 568}> 
| | | | | | | | | <swrd.WallTableViewCell: 0x156e1f7a0; baseClass = UITableViewCell; frame = (0 6630; 320 390); autoresize = W; userInteractionEnabled = NO; layer = <CALayer: 0x170222500>> 
| | | | | | | | | | <UITableViewCellContentView: 0x170197420; frame = (0 0; 320 389.5); opaque = NO; gestureRecognizers = <NSArray: 0x1782518e0>; layer = <CALayer: 0x170232d80>> 
| | | | | | | | | | | <UIImageView: 0x1783e0d00; frame = (0 69; 320 320); opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x1782220a0>> 
| | | | | | | | | | | <UILabel: 0x156d0b3a0; frame = (61 21; 109 21); text = 'koko'; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x178281d60>> 
| | | | | | | | | | | <UIImageView: 0x1783e0e00; frame = (0 8; 48 47.5); clipsToBounds = YES; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x1782224e0>> 
| | | | | | | | | | | <UIScrollView: 0x156e20f00; frame = (0 69; 320 320); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x17024f5a0>; layer = <CALayer: 0x170232a60>; contentOffset: {0, 0}; contentSize: {0, 0}> 
| | | | | | | | | | | | <UIImageView: 0x1781fe000; frame = (233 316.5; 7 3.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x178226f20>> 
| | | | | | | | | | | | <UIImageView: 0x1781fa100; frame = (316.5 121; 3.5 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x178227420>> 
| | | | | | | | | | <_UITableViewCellSeparatorView: 0x1701d5720; frame = (0 -1; 8 1); layer = <CALayer: 0x170233880>> 
| | | | | | | | | | <_UITableViewCellSeparatorView: 0x1781d59f0; frame = (16 389.5; 304 0.5); layer = <CALayer: 0x17803e3e0>> 
| | | | | | | | | <swrd.WallTableViewCell: 0x156d33d00; baseClass = UITableViewCell; frame = (0 6240; 320 390); autoresize = W; userInteractionEnabled = NO; layer = <CALayer: 0x178037ae0>> 
| | | | | | | | | | <UITableViewCellContentView: 0x178198d50; frame = (0 0; 320 389.5); opaque = NO; gestureRecognizers = <NSArray: 0x17824f4e0>; layer = <CALayer: 0x178229e40>> 
| | | | | | | | | | | <UIImageView: 0x1783e0200; frame = (0 69; 320 320); opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x178229c80>> 
| | | | | | | | | | | <UILabel: 0x156d265c0; frame = (61 21; 109 21); text = 'koko'; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x178283930>> 
| | | | | | | | | | | <UIImageView: 0x1781f9b00; frame = (0 8; 48 47.5); clipsToBounds = YES; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x178229ca0>> 
| | | | | | | | | | | <UIScrollView: 0x156d34020; frame = (0 69; 320 320); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x178251a00>; layer = <CALayer: 0x17822a2e0>; contentOffset: {0, 0}; contentSize: {0, 0}> 
| | | | | | | | | | | | <UIImageView: 0x1703e0a00; frame = (233 316.5; 7 3.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x170235840>> 
| | | | | | | | | | | | <UIImageView: 0x1703e0c00; frame = (316.5 121; 3.5 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x170235900>> 
| | | | | | | | | | <_UITableViewCellSeparatorView: 0x1781d5900; frame = (0 -1; 8 1); layer = <CALayer: 0x17822a200>> 
| | | | | | | | | | <_UITableViewCellSeparatorView: 0x1701d5bd0; frame = (16 389.5; 304 0.5); layer = <CALayer: 0x170231ee0>> 
| | | | | | | | | <swrd.WallTableViewCell: 0x156d2a640; baseClass = UITableViewCell; frame = (0 5850; 320 390); autoresize = W; userInteractionEnabled = NO; layer = <CALayer: 0x1782281a0>> 
| | | | | | | | | | <UITableViewCellContentView: 0x178196c00; frame = (0 0; 320 389.5); opaque = NO; gestureRecognizers = <NSArray: 0x17824ef40>; layer = <CALayer: 0x1782281c0>> 
| | | | | | | | | | | <UIImageView: 0x1781f9a00; frame = (0 69; 320 320); opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x178228180>> 
| | | | | | | | | | | <UILabel: 0x156d194d0; frame = (61 21; 109 21); text = 'koko'; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x178282ee0>> 
| | | | | | | | | | | <UIImageView: 0x1781fa500; frame = (0 8; 48 47.5); clipsToBounds = YES; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x178228280>> 
| | | | | | | | | | | <UIScrollView: 0x156e22870; frame = (0 69; 320 320); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x170250020>; layer = <CALayer: 0x170232960>; contentOffset: {0, 0}; contentSize: {0, 0}> 
| | | | | | | | | | | | <UIImageView: 0x1781fad00; frame = (233 316.5; 7 3.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x178228160>> 
| | | | | | | | | | | | <UIImageView: 0x1781fda00; frame = (316.5 121; 3.5 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x178228500>> 
| | | | | | | | | | <_UITableViewCellSeparatorView: 0x1701d5ae0; frame = (0 -1; 8 1); layer = <CALayer: 0x1702338e0>> 
| | | | | | | | | | <_UITableViewCellSeparatorView: 0x1701d5630; frame = (16 389.5; 304 0.5); layer = <CALayer: 0x17003e600>> 
| | | | | | | | <UIRefreshControl: 0x156d0ba10; frame = (0 6301; 320 64); hidden = YES; autoresize = W; layer = <CALayer: 0x178220960>> 
| | | | | | | | | <_UIRefreshControlModernContentView: 0x156e04bd0; frame = (0 0; 320 64); clipsToBounds = YES; hidden = YES; autoresize = W; layer = <CALayer: 0x1702244c0>> 
| | | | | | | | | | <UIView: 0x1701979d0; frame = (109.503 -18.4975; 100.995 100.995); transform = [-0.99995000041666526, 0.0099998333341665743, -0.0099998333341665743, -0.99995000041666526, 0, 0]; layer = <CALayer: 0x170224d80>> 
| | | | | | | | | | | <_UIRefreshControlModernReplicatorView: 0x170197aa0; frame = (-5.68434e-14 -5.41789e-14; 100 100); transform = [1, -1.1102230246251565e-15, 1.1102230246251565e-15, 1, 0, 0]; layer = <CAReplicatorLayer: 0x170224dc0>> 
| | | | | | | | | | | | <UIView: 0x178198050; frame = (49 36.5; 2 7.5); layer = <CALayer: 0x178223980>> 
| | | | | | | | | | <UILabel: 0x156d1b4c0; frame = (10 50.5025; 300 23); text = 'hey ! is there something ...'; alpha = 0; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x178281360>> 
| | | | | | | | <UIImageView: 0x1701fd100; frame = (0 564.5; 320 3.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x170225620>> 
| | | | | | | | <UIImageView: 0x1783e0100; frame = (314.5 6371; 3.5 36); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x178224ac0>> 
| | | | | <UINavigationBar: 0x156e085a0; frame = (0 20; 320 44); opaque = NO; autoresize = W; gestureRecognizers = <NSArray: 0x170244ec0>; layer = <CALayer: 0x1702224e0>> 
| | | | | | <_UINavigationBarBackground: 0x156e0ba20; frame = (0 -20; 320 64); autoresize = W; userInteractionEnabled = NO; layer = <CALayer: 0x170035b80>> 
| | | | | | | <_UIBackdropView: 0x156d19880; frame = (0 0; 320 64); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <_UIBackdropViewLayer: 0x170223c60>> 
| | | | | | | | <_UIBackdropEffectView: 0x1701b66c0; frame = (0 0; 320 64); clipsToBounds = YES; opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CABackdropLayer: 0x170223d20>> 
| | | | | | | | <UIView: 0x178197d10; frame = (0 0; 320 64); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x1782210e0>> 
| | | | | | | | <UIView: 0x178197de0; frame = (0 0; 320 64); alpha = 0.85; opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x178221100>> 
| | | | | | | <UIImageView: 0x1701fa800; frame = (0 64; 320 0.5); userInteractionEnabled = NO; layer = <CALayer: 0x170222600>> 
| | | | | | <_UINavigationBarBackIndicatorView: 0x1781fe300; frame = (8 11.5; 13 21); alpha = 0; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x178036880>> 
| | <UITabBar: 0x156d0fe50; frame = (0 519; 320 49); autoresize = W+TM; layer = <CALayer: 0x170222ea0>> 
| | | <_UITabBarBackgroundView: 0x1781fc300; frame = (0 0; 320 49); autoresize = W; userInteractionEnabled = NO; layer = <CALayer: 0x178223140>> 
| | | | <_UIBackdropView: 0x156d1d320; frame = (0 0; 320 49); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <_UIBackdropViewLayer: 0x1782231a0>> 
| | | | | <_UIBackdropEffectView: 0x1781b7f40; frame = (0 0; 320 49); clipsToBounds = YES; opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CABackdropLayer: 0x1782231c0>> 
| | | | | <UIView: 0x178197eb0; frame = (0 0; 320 49); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x1782231e0>> 
| | | | | <UIView: 0x178197f80; frame = (0 0; 320 49); alpha = 0.85; opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x178223200>> 
| | | <UITabBarButton: 0x156d0ffe0; frame = (2 1; 103 48); opaque = NO; layer = <CALayer: 0x17803fb60>> 
| | | | <UITabBarSwappableImageView: 0x156d11530; frame = (38.5 5.5; 25.5 25); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x17803fb80>> 
| | | | <UITabBarButtonLabel: 0x156d103e0; frame = (37.5 35; 28 12); text = 'Home'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x17809f180>> 
| | | <UITabBarButton: 0x156d13080; frame = (109 1; 102 48); opaque = NO; layer = <CALayer: 0x17803ffe0>> 
| | | | <UITabBarSwappableImageView: 0x156d136e0; frame = (38.5 7.5; 25 20.5); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x178220000>> 
| | | | <UITabBarButtonLabel: 0x156d13550; frame = (37 35; 28 12); text = 'Photo'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x17809f540>> 
| | | <UITabBarButton: 0x156d14660; frame = (215 1; 103 48); opaque = NO; layer = <CALayer: 0x1782203c0>> 
| | | | <UITabBarSwappableImageView: 0x156d14820; frame = (39 6; 24 24); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x1782203e0>> 
| | | | <UITabBarButtonLabel: 0x156d14b30; frame = (36.5 35; 29.5 12); text = 'Profile'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x17809f810>> 
| | | <UIImageView: 0x1781fec00; frame = (0 -0.5; 320 0.5); autoresize = W; userInteractionEnabled = NO; layer = <CALayer: 0x1782234c0>> 
+1

당신이 이러한 솔루션을 시도 해 봤나? http://stackoverflow.com/questions/724892/uitableview-scroll-to-the-top –

+0

당신은 '[window makeKeyAndVisible]; – hfossli

답변

0

호출이 기능을 사용자 탭 기능 내부에서

func scrollToFirstRow() 
{ 
    self.tableView?.scrollToRowAtIndexPath(0, atScrollPosition: UITableViewScrollPosition.None, animated: true) 
} 
관련 문제