相关疑难解决方法(0)

iOS 7:UITableView显示在状态栏下

我的应用程序的第一个屏幕是UITableViewController没有导航栏,这意味着内容在状态栏下流动,因此存在大量文本冲突.我已经调整了两个属性Under top bars,Adjust scroll view insets哪些实际上阻止了它滚动,但代价是保持表视图的顶部.我试图将UITableView帧设置为偏移20像素,但它似乎没有生效,因为我目前需要该应用程序与iOS 6兼容我无法跳转到iOS 7 Storyboards强制自动布局使用顶部高度指南.有没有人找到适用于这两个版本的解决方案?

事情我已经尝试:设置edgesForExtendedLayout,故事情节中更改设置Under top barsAdjust scroll view,迫使帧到一个新的领域.

一张图片胜过千言万语: 状态栏下的流量

ios uistatusbar ios7

219
推荐指数
8
解决办法
15万
查看次数

无需UITableViewController即可刷新UITableView

我正在尝试在UIViewController中的UITableView中实现一个pull to refresh功能.我不能使用UITableViewController,因为我希望UITableView在视图控制器中是一个较小的子视图,上面还有一些其他东西.我认为这是可能的,但有没有人看过它的实现?

iphone objective-c uitableview ios pull-to-refresh

179
推荐指数
2
解决办法
8万
查看次数

UIRefreshControl - iOS 7中的Pull to Refresh

我正试图在我的表视图中获得iOS 7上的pull to refresh功能.在我viewDidLoad,我有:

refreshControl = [[UIRefreshControl alloc] init];
[self.mytableView setContentOffset:CGPointMake(0, refreshControl.frame.size.height) animated:YES];
[refreshControl beginRefreshing];
[refreshControl addTarget:self action:@selector(refreshTable) forControlEvents:UIControlEventValueChanged];
Run Code Online (Sandbox Code Playgroud)

然后我跑:

-(void)refreshTable {
    [self.mytableView reloadData];
    [refreshControl endRefreshing];
}
Run Code Online (Sandbox Code Playgroud)

在iOS 6上,这意味着当你向下拉动表格视图时,它会显示在你拉动时伸展的圆形箭头,并且在拉得足够远之后,它会刷新.现在,我看不到圆形箭头.我错过了什么?

objective-c uitableview ios

43
推荐指数
2
解决办法
6万
查看次数

使用UIRefreshControl在TableView中移位的标题

我的UIRefreshController正在做一些奇怪的事情.当我下拉刷新时,tableView标头被移位.

如果我下拉它看起来不错,但如果我向下滚动表时,复习仍在工作,头被刷新控制的高度,而UITableCells是罚款和滚动头之后偏移.

http://oi49.tinypic.com/2a8hqti.jpg

http://oi46.tinypic.com/acssrb.jpg

我想避免创建一个tableViewController,所以我在viewDidLoad中执行以下操作:

_refreshControl = [[UIRefreshControl alloc] init];
[_refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged];
[_tableView addSubview:_refreshControl];
Run Code Online (Sandbox Code Playgroud)

我在不同的视图控制器中有很多表需要这个功能.有什么方法可以避免为每个人制作一个UITableViewController吗?

万分感谢!

objective-c uitableview ios uirefreshcontrol

28
推荐指数
2
解决办法
9308
查看次数

UITableView和UIRefreshControl

我正在尝试将UIRefreshControl移到我的headerView之上,或者至少让它与contentInset一起使用.有谁知道如何使用它?

在TableView中滚动时,我使用headerView来获得漂亮的背景.我想要一个可滚动的背景.

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Set up the edit and add buttons.

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.backgroundColor = [UIColor clearColor];

[self setWantsFullScreenLayout:YES];

self.tableView.contentInset = UIEdgeInsetsMake(-420, 0, -420, 0);

UIImageView *top = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"top.jpg"]];
self.tableView.tableHeaderView = top;

UIImageView *bottom = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bottom.jpg"]];
self.tableView.tableFooterView = bottom;

UIBarButtonItem *leftButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"settingsIcon"] style:UIBarButtonItemStylePlain target:self action:@selector(showSettings)];
self.navigationItem.leftBarButtonItem = leftButton;

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] …
Run Code Online (Sandbox Code Playgroud)

uitableview uirefreshcontrol

14
推荐指数
2
解决办法
2万
查看次数

iOS7 UIRefreshControl更改contentInset

UINavigationController我的应用程序中有一个.该UINavigationBar设置为不透明和所有的滚动视图不酒吧的下面重叠.

在一个视图中,我有一个UITableView.所述的帧UITableView就是(0 0; 320 504)在我的iPhone 5.即,高度为568 - 64(导航栏和状态栏中的高度).

contentInsetUITableView(0, 0, 0, 0).当表视图首次加载contentOffsetis时(0, 0).

这可以.工作出色.

UIRefreshControl在表视图中添加了一个.这可以工作几次,但是经过几次拉动刷新之后,顶部的内容会在导航栏下"卡住".

当发生这种情况时,我会检查contentInset它,现在就是(-60, 0, 0, 0).

有没有办法阻止UIRefreshControl改变contentInset

objective-c uitableview ios uirefreshcontrol

12
推荐指数
3
解决办法
1万
查看次数

在UIViewController内部的UITableView上刷新

我正在尝试在我的应用程序中实现pull to refresh功能.架构是这样的,UITableView里面有一个UIViewController.我希望能够在下拉时刷新tableview.我在viewDidLoad方法中尝试了下面的代码,但它不起作用.任何人都可以告诉我在实施中我错在哪里吗?

UIRefreshControl *refresh = [[UIRefreshControl alloc] init];
    refresh.tintColor = [UIColor grayColor];
    refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];
    [refresh addTarget:self action:@selector(get_vrns) forControlEvents:UIControlEventValueChanged];
    [self.vrnTable addSubview:refresh];
Run Code Online (Sandbox Code Playgroud)

uitableview ios uirefreshcontrol pull-to-refresh

9
推荐指数
3
解决办法
3万
查看次数

有水平的UIRefreshControl吗?

您可以添加UIRefreshControlUICollectionView(或任何UIScrollView通过此事)将它添加到集合的子视图:

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(handleRefresh:) forControlEvents:UIControlEventValueChanged];
[self.collectionView addSubview:refreshControl];
Run Code Online (Sandbox Code Playgroud)

当集合视图布局具有时,这不起作用UICollectionViewScrollDirectionHorizontal.

我尝试重写layoutSubviews将刷新控制放在左侧,但它不会以这种方式跟踪滚动进度.我可以欺骗它使用水平布局吗?

objective-c uiscrollview uikit ios6 uirefreshcontrol

6
推荐指数
1
解决办法
1787
查看次数

当我返回查看控制器时,在tableview顶部刷新控制

出于某种原因,第一次加载视图控制器时,刷新控件的行为与预期一致(它在向下滑动时显示在tableview下).问题是当我点击另一个选项卡,然后返回到视图控制器时,刷新控件不再淡入,并且在tableview顶部可见.

当我回去查看控制器

这是代码的一部分:

class CoreTableViewController : UIViewController, UITableViewDataSource, UITableViewDelegate {

var tableView:UITableView!
var tableData:Array<AnyObject> = []
var dataFetched:Bool = false
var refreshControl:UIRefreshControl?

override func viewDidLoad() {
    super.viewDidLoad()

    self.edgesForExtendedLayout = UIRectEdge.None;

    self.tableView = self.assignTableView()
    self.tableView.delegate = self
    self.tableView.dataSource = self
    self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell")
    self.tableView.separatorStyle = UITableViewCellSeparatorStyle.None;

    if self.enableRefresher() {
        self.setRefreshControl()
    }
}

func enableRefresher() -> Bool {
    return true
}

func fetchData(cleanFirst:Bool = false) {
    // Fetch data.
}

func refresh() {
    self.fetchData(true)
    self.refreshControl!.endRefreshing()
}

func setRefreshControl() {
    self.refreshControl = UIRefreshControl()
    //self.refreshControl!.attributedTitle …
Run Code Online (Sandbox Code Playgroud)

xcode ios uirefreshcontrol swift

5
推荐指数
3
解决办法
7575
查看次数

与单元格一起移动的TableView上的UIRefreshControl

我试图在表视图上添加刷新控件,但无法按我的要求进行。

我有一个视图,其中包含一个表视图。我的ViewController的viewDidLoad函数如下:

override func viewDidLoad() {
    super.viewDidLoad()

    // set the refresh control
    self.refreshControl = UIRefreshControl()
    self.refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")
    self.refreshControl.addTarget(self, action: "getData", forControlEvents: UIControlEvents.ValueChanged)
    self.tableView.addSubview(refreshControl)
}
Run Code Online (Sandbox Code Playgroud)

一切正常,除了当我下拉行以触发刷新控件时,刷新控件出现在第一行之后,并终止于第一行的顶部(正常情况下,我将这些行下拉...)。

我想要得到的就像在许多应用程序中一样,当您下拉行时,刷新控件的行为就像是#-1行,并且在我们下拉第一行时就从顶部取消隐藏。

内置的刷新控件有可能吗?

谢谢

uirefreshcontrol swift

2
推荐指数
1
解决办法
2170
查看次数

如何在没有UITableViewController的情况下结束UIRefreshControl

我创建了一个没有TableViewController的UIRefreshcontrol.我的问题是我如何在另一种方法中结束它?这就是我创造它的方式;

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
    [refreshControl addTarget:self action:@selector(handleRefresh) forControlEvents:UIControlEventValueChanged];
    [_tableView addSubview:refreshControl];
Run Code Online (Sandbox Code Playgroud)

iphone uiviewcontroller ios uirefreshcontrol

1
推荐指数
1
解决办法
2369
查看次数

UIRefreshControl闪烁

我在iOS 8下实现UIRefreshControl时遇到了一种闪烁.每次我第一次来到tableView的顶部(意思是应用程序刚启动时),我看到下面的gif中显示的闪烁.这种情况不会发生在我后来到tableView顶部的任何时候,直到再次加载此视图,所以在我在应用程序的另一个视图中执行某些操作或完全重新启动它之后.

屏幕录制闪烁

这是我的应用程序的viewDidLoad()中的代码:

let refreshControl = UIRefreshControl()

override func viewDidLoad() {
    super.viewDidLoad()

    // Doing this here to prevent the UIRefreshControl sometimes looking messed up when waking the app
    self.refreshControl.endRefreshing()

    updateData()

    refreshControl.backgroundColor = UIColor(hue: 0.58, saturation: 1.0, brightness: 0.43, alpha: 1.0)
    refreshControl.tintColor = UIColor.whiteColor()
    refreshControl.addTarget(self, action: "updateData", forControlEvents: UIControlEvents.ValueChanged)
    tableView.addSubview(refreshControl)
}
Run Code Online (Sandbox Code Playgroud)

refreshControl在viewDidLoad()函数之外声明,因为我想从updateData()函数中调用endRefreshing方法.这似乎是明显的做法.

uitableview ios uirefreshcontrol

1
推荐指数
1
解决办法
1645
查看次数