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.