我一直致力于隐藏页脚视图。我的问题是,当我单击按钮时,我在页脚中有一个按钮,下面将添加一个部分作为最后一部分,按钮也将转移到新创建的部分,现在我想在表格的上一部分中隐藏页脚更新部分后。
footerView.hidden = YES
我在按钮操作中使用了它,但它无效。
答案 0 :(得分:40)
有四种解决方案。他们是,
解决方案1:
tableView.sectionHeaderHeight = 0.0;
tableView.sectionFooterHeight = 0.0;
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger )section {
return 1.0;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger )section {
return 1.0;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger )section {
return [[UIView alloc] initWithFrame:CGRectZero];
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger )section {
return [[UIView alloc] initWithFrame:CGRectZero];
}
解决方案2:
您可以通过尺寸选项卡下的界面构建器设置页脚/标题高度。
解决方案3:
设置 contentInset 属性。
self.tableView.contentInset = UIEdgeInsetsMake(-20, 0, -20, 0);
用于使顶部和底部接触边缘。
解决方案4:
实现以下内容,根据您的条件设置值。 0.0将不被接受。较低的值应为1.0。
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger )section {
if(section == 0) {
return 6;
} else {
return 1.0;
}
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger )section {
return 5.0;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger )section {
return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger )section {
return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
}
答案 1 :(得分:15)
这应该这样做
tableView.tableFooterView.hidden = YES;
答案 2 :(得分:8)
这可以做到 通过实现委托方法
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return CGFLOAT_MIN;
}
答案 3 :(得分:2)
Swift 3.0 解决方案,它还删除了上一个单元格和后续标题之间令人讨厌的1px边框。
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return CGFloat.leastNormalMagnitude
}
override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? {
return nil
}
答案 4 :(得分:2)
参考@ J.Hong回答, Swift4 版本(iOS 11.3):
// post processing starts here
composer = new THREE.EffectComposer( renderer );
// render pass
var renderPass = new THREE.RenderPass( scene, camera )
// save pass
var renderTargetParameters = {
minFilter: THREE.LinearFilter,
magFilter: THREE.LinearFilter,
stencilBuffer: false
};
var savePass = new THREE.SavePass( new THREE.WebGLRenderTarget( window.innerWidth, window.innerHeight, renderTargetParameters ) );
// blend pass
var blendPass = new THREE.ShaderPass( THREE.BlendShader, 'tDiffuse1' );
blendPass.uniforms[ 'tDiffuse2' ].value = savePass.renderTarget.texture;
blendPass.uniforms[ 'mixRatio' ].value = 0.65;
// output pass
var outputPass = new THREE.ShaderPass( THREE.CopyShader );
outputPass.renderToScreen = true;
// setup pass chain
composer.addPass( renderPass );
composer.addPass( blendPass );
composer.addPass( savePass );
composer.addPass( outputPass );
与@Tim Newton回答:
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return .leastNonzeroMagnitude
}
titleForFooterInSection
- > CGFloat.leastNormalMagnitude
(更多Swifty IMO)答案 5 :(得分:1)
迅速4:
self.tableView.tableFooterView = nil
答案 6 :(得分:0)
不使用自定义视图时,请从setParameter("foo", value);
返回nil
,从tableView:titleForFooterInSection:
返回0
。
tableView:heightForFooterInSection:
@property(nonatomic, strong) NSString *footerTitle;
@property(nonatomic, assign) BOOL shouldHideFooter;
答案 7 :(得分:0)
Swift 5解决方案:(隐藏部分页脚,您可能需要另外一块来摆脱表格页脚)
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.0
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}