隐藏iOS10中今日小部件的"显示更多"按钮

Gis*_*rge 11 widget objective-c ios today-extension

我正在构建一个iOS Today小部件,在测试iOS 10时,我看到小部件标题右上角的"显示更多"/"显示更少"按钮.如何删除此按钮?我正在使用Objective-C.

Mox*_*rth 11

在iOS 10中,据我所知,show more选项是新的,我们无法将其删除,但我们可以根据需要进行修改.

以下代码将允许您自动调整Today小部件的大小.只需更改表或集合视图或项目中使用的任何内容即可.

static CGFloat padding = 25.0;

- (void)viewDidLoad 
{
    [super viewDidLoad];

    // Do any additional setup after loading the view from its nib.

    // This will remove extra separators from tableview
    self.articleTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

    // Add the iOS 10 Show More ability
    [self.extensionContext setWidgetLargestAvailableDisplayMode:NCWidgetDisplayModeExpanded];
}

- (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize {
   if (activeDisplayMode == NCWidgetDisplayModeCompact){
       // Changed to compact mode
       self.preferredContentSize = maxSize;
   }
   else{
       // Changed to expanded mode
       self.preferredContentSize = CGSizeMake(self.articleTableView.contentSize.width, self.articleTableView.contentSize.height + padding);
   }
}
Run Code Online (Sandbox Code Playgroud)


jer*_*e10 10

viewDidLoad您可以设置最大可用的显示模式.

[self.extensionContext setWidgetLargestAvailableDisplayMode:NCWidgetDisplayModeCompact];
Run Code Online (Sandbox Code Playgroud)

这将删除Show More/Less按钮,但它可能不是您想要的.紧凑视图允许的最大大小相当小.

你可以实现:

-(void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize

更新你的preferredContentSize.该maxSize参数将是最大允许大小activeDisplayMode.