iOS tableviewheader子视图未显示

时间:2016-02-27 16:49:59

标签: ios objective-c uitableview

我使用UITableView,我想在开头设置一个文本。 我的代码是:

UIView *tableHeaderView = [[UILabel alloc]initWithFrame:CGRectMake(0.0, 0.0, self.tableView.frame.size.width, 20.0)];
tableHeaderView.backgroundColor = [UIColor groupTableViewBackgroundColor];
UILabel *tableHeaderLabel = [[UILabel alloc]initWithFrame:CGRectMake(15.0,0,tableHeaderView.frame.size.width-15.0,tableHeaderView.frame.size.height)];
tableHeaderLabel.text = @"Countries";
if([UIFont respondsToSelector:@selector(preferredFontForTextStyle:)])
    tableHeaderLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
else
    tableHeaderLabel.font = [UIFont boldSystemFontOfSize:14.0];
[tableHeaderView addSubview:tableHeaderLabel];
self.tableView.tableHeaderView = tableHeaderView;
[tableHeaderView bringSubviewToFront:tableHeaderLabel];
[tableHeaderLabel release];
[tableHeaderView release];

问题是文字没有显示。 如果我压缩主标题视图的backgroundColor,或者我用透明的替换它,就好像标题awas在主标题视图下面。 所以我添加了一行:

[tableHeaderView bringSubviewToFront:tableHeaderLabel];

但这并不能解决问题。 我不能直接使用Label作为tableViewHeaderView,因为我想留下文本左侧的空格。

有人有意帮助我吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您遇到的唯一问题是第一行中的拼写错误,将var express = require('express'); var cookieParser = require('cookie-parser'); var session = require('express-session'); var sockjs = require('sockjs'); var http = require('http'); var Primus = require('primus'); var realtime_functions = require('./custom_modules/realtime_functions.js'); var app = express(); var app_secret_key = 'app secret'; var cookieparser = cookieParser(app_secret_key); var sessionstore = new session.MemoryStore(); app.use(cookieparser); app.use(session({ secret: app_secret_key, saveUninitialized: false, resave: false, store: sessionstore })); realtime_functions(app, cookieparser, sessionstore); 错误地初始化为var primus_start = function(express, cookies, store) { var server = http.createServer(express); var primus = new Primus(server, {transformer: 'SockJS', parser: 'JSON'}) primus.use('rooms', primusRooms) server.listen(3000, '0.0.0.0'); primus.before('cookies', cookies); primus.before('session', function session(req, res, next) { try { var sid = req.signedCookies['connect.sid']; if (!sid) { return next(); } req.pause(); store.get(sid, function (err, session) { if (err) { primus.emit('log', 'error', err); return next(); } if(session) { req.sessionID = sid; req.sessionStore = store; req.thesession = store.createSession(req, session); } req.resume(); next(); }); } catch(error) { console.log(error); } }); primus.on('connection', function(spark) { spark.on('data', function(data) { spark.request.thesession.addthis = "save this to session"; spark.request.thesession.save(); }); }); } module.exports = primus_start; 。编译器不符合,因为UIViewUILabel的子类。

我运行了以下代码并按预期工作:(代码用于 ARC ,如果您不使用它,请不要忘记执行UILabel! )

UIView