gpt4 book ai didi

objective-c - UIRefreshControl 颜色问题

转载 作者:搜寻专家 更新时间:2023-10-30 19:45:41 25 4
gpt4 key购买 nike

Stackoverflowers!

我又一次来到蜂群思维寻求帮助。这次是一个非常特殊的问题,不幸的是,我无法解决这个问题。

此问题与使用 UIRefreshControl 的下拉刷新机制有关。当由 - 下拉启动时,下拉本身工作正常。当我想手动触发加载时,它也能正常工作,但有一个阻塞问题——事件指示器的颜色不会更改为它设置的色调颜色。

-viewDidLoad

    _publicationsRefreshControl = [[UIRefreshControl alloc] init];
NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:NSLocalizedString(localizationRefreshControlTitle, nil) attributes:@{NSFontAttributeName : [UIFont fontWithName:fontLatoRegular size:14], NSForegroundColorAttributeName : [UIColor whiteColor]}];
_publicationsRefreshControl.attributedTitle = attributedTitle;
_publicationsRefreshControl.tintColor = [UIColor whiteColor];
[_publicationsRefreshControl addTarget:self action:@selector(refreshPublications:) forControlEvents:UIControlEventValueChanged];
[self.collectionView addSubview:_publicationsRefreshControl];

这正确地初始化了 UIRefreshControl,并且当您下拉 CollectionView 时它确实有效。

当我使用以下方法时:

- (void)action {
[_publicationsRefreshControl beginRefreshing];
[_collectionView setContentOffset:CGPointMake(0, _collectionView.contentOffset.y - _publicationsRefreshControl.frame.size.height) animated:YES];
[_publicationsRefreshControl sendActionsForControlEvents:UIControlEventValueChanged]; }

要手动启动刷新,事件指示器的颜色不会变为白色。它保持默认颜色。我已尝试在所有可能的放置组合中设置操作方法中的 tintColor 属性,但无济于事。

有趣的是,如果我先拉下 Collection View 并开始刷新,然后尝试手动开始刷新,它会正确地显示为白色。仅当我首先尝试手动刷新时才会出现颜色问题。

我尝试过的其他选项:

  1. 尝试调用 tintColorDidChange
  2. 尝试手动更改底层 ActivityIndi​​catorView 的样式

我感谢任何人愿意提供的帮助:)

最佳答案

尝试:

[_myRefreshControl endRefreshing];
_myRefreshControl.tintColor = [UIColor whiteColor];

对我有用!

关于objective-c - UIRefreshControl 颜色问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27981729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com