我是iOS开发的新手.
我想在一个表格视图中添加一个页脚UITableViewController.我已经在Storyboard中以图形方式使用了作为页脚的视图,但是我无法弄清楚如何将其作为页脚连接到我的表视图.
我可以以编程方式添加脚注UITableViewController的viewDidLoad通过分配方法self.tableView.tableFooterView.但是我在Storyboard中创建了我的页脚视图,将它作为页脚添加到我的表视图的最佳实践方法是什么?
(使用iOS 5和Xcode 4.2)
我有一个MKMapView,想在用户位置周围绘制一个1000米半径的圆.
从表面上看,似乎实现mapView:viewForAnnotation: map view delegate方法,并为用户位置添加自定义MKAnnotationView,将是一个完美的解决方案.它看起来像这样:
- (MKAnnotationView *)mapView:(MKMapView *)mapView
viewForAnnotation:(id <MKAnnotation>)annotation
{
// If it's the user location, return my custom MKAnnotationView.
if ([annotation isKindOfClass:[MKUserLocation class]]) {
return myCustomAnnotationView;
} else {
return nil;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当您放大和缩小地图时,地图上的注释不会缩放.
所以我尝试添加叠加层(因为叠加层与地图一起缩放),使用MKCircle类并将其坐标设置为来自locationManger/map视图委托的最新坐标.但是由于MKCircle 的坐标属性是readonly,我不得不删除叠加层,然后每次用户移动时添加一个新叠加层.当它发生时引起明显的闪烁.
当地图视图缩小和缩小时,有没有办法无缝地制作注释比例?或者是否有一种很好的方法可以使叠加层随着用户位置的变化无缝移动?
我非常感谢你的帮助:)
我的应用程序中有一个方形MKMapView,我希望设置一个中心点和视图的确切高度/宽度(以米为单位).
创建MKCoordinateRegion并将地图设置为它(如此代码中所示...
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(center_coord, 1000.0, 1000.0);
[self.mapView setRegion:region animated:YES];
Run Code Online (Sandbox Code Playgroud)
..)无法正常工作,因为在这里使用区域只意味着至少显示该区域,通常比区域更多.
我打算使用setVisibleMapRect:animated:方法,因为我相信这会缩放到实际传递的MKMapRect.
那么,有一种简单的方法可以在MKcoordinateRegion和MKMapRect之间进行转换吗?也许获得该区域的左上角和右下角坐标,并使用它们来制作MKMapRect?
我在Map Kit函数参考中看不到任何方便的东西.
(使用iOS 5,Xcode 4.2)
我需要设置translatesAutoresizingMaskIntoConstraints为NO.默认情况下,它设置为YES(以协助大多数从struts和spring转换到新的Auto Layout的应用程序).
Xcode中有哪些地方可以将默认值更改YES为NO?
或者我是否必须为每个视图手动设置它?
使用以下代码对用户进行身份验证后(下面是我的代码的修剪版本,因此只显示成功的登录逻辑)...
let firebaseReference = Firebase(url: "https://MY-FIREBASE.firebaseio.com")
Run Code Online (Sandbox Code Playgroud)
FBSession.openActiveSessionWithReadPermissions(["public_profile", "user_friends"], allowLoginUI: true,
completionHandler: { session, state, error in
if state == FBSessionState.Open {
let accessToken = session.accessTokenData.accessToken
firebaseReference.authWithOAuthProvider("facebook", token: accessToken,
withCompletionBlock: { error, authData in
if error != nil {
// Login failed.
} else {
// Logged in!
println("Logged in! \(authData)")
}
})
}
})
}
Run Code Online (Sandbox Code Playgroud)
(即启动并运行应用程序,成功登录).
如果您随后删除了应用程序并在同一设备上重新安装,则此调用(我在应用程序委托中使用以确定用户是否已登录)将始终返回他们已登录的状态.
if firebaseReference.authData == nil {
// Not logged in
} else {
// Logged in
}
Run Code Online (Sandbox Code Playgroud)
这是为什么?我本来以为删除应用程序并重新安装它应该擦除所有数据.
如果您重置iOS模拟器中的内容和设置,并安装该应用程序,该firebaseReference.authData属性将再次nil.
我正在使用Sqlite3和Flask微框架,但这个问题仅涉及Sqlite方面的事情..
以下是代码片段:
g.db.execute('INSERT INTO downloads (name, owner, mimetype) VALUES (?, ?, ?)', [name, owner, mimetype])
file_entry = query_db('SELECT last_insert_rowid()')
g.db.commit()
Run Code Online (Sandbox Code Playgroud)
该downloads表有另一列,具有以下属性: id integer primary key autoincrement,
如果两个人同时写,上面的代码可能会产生错误.
交易可能很乱.在Sqlite中有一个简洁的内置方式来返回执行INSERT后生成的主键吗?
我正在使用基于Werkzeug的Flask微框架,它使用Python.
在每个受限制的页面之前有一个装饰器,以确保用户登录,如果他们没有登录,当前将它们返回到登录页面,如下所示:
# Decorator
def logged_in(f):
@wraps(f)
def decorated_function(*args, **kwargs):
try:
if not session['logged_in']:
flash('Please log in first...', 'error')
return redirect(url_for('login'))
else:
return f(*args, **kwargs)
except KeyError:
flash('Please log in first...', 'error')
return redirect(url_for('login'))
return decorated_function
# Login function
@app.route('/', methods=['GET', 'POST'])
def login():
"""Login page."""
if request.method=='POST':
### Checks database, etc. ###
return render_template('login.jinja2')
# Example 'restricted' page
@app.route('/download_file')
@logged_in
def download_file():
"""Function used to send files for download to user."""
fileid = request.args.get('id', 0)
### ... ###
Run Code Online (Sandbox Code Playgroud)
登录后,需要将用户返回到将其带到登录页面的页面.它还需要保留诸如传递的变量之类的东西(即整个链接基本上都是www.example.com/download_file?id=3) …
我刚刚使用Xcode 7 beta-4创建了一个新的iOS Swift项目,并将Crashlytics(现在是Fabric的一部分)与常规流程集成在一起.
它集成了所有精细,我可以模拟崩溃等.
但是,当我访问Crashlytics仪表板时,它警告我:
缺少dSYM
我们错过了一个dSYM来处理崩溃,在这里上传!
并没有出现任何崩溃事件.
单击警告消息(这里提到的链接:http: //docs.fabric.io/ios/crashlytics/crashlytics.html#troubleshooting)给我一个列表UUIDs Crashlytics缺少dSYMs.
该页面提供了上传dSYM的选项,我尝试过这个选项(从/ Users/me/Library/Developer/Xcode/DerivedData/MyApp-xxxxxxxxxxxxxxxxxxxxxxxxxxxx/Build/Products/Debug-iphoneos获取).但是,这样做后,这并不能解决问题.
我尝试从CocoaPods获取框架而不是手动添加它们,以防有所作为.它没有.
-
所以我唯一想到的可能是Crashlytics不处理Xcode 7 beta产生的dSYM?还是有一些基本的东西我忽略了?
非常感谢您的帮助!
-
更新:
在与Crashlytics团队发来许多来回电子邮件之后,他们发现这个特殊问题是由beta Xcode 7版本中的一个版本引起的.Crashlytics的解决方案被推出,从那时起它就起作用了.
如果您遇到类似的问题,我建议您首先确保您使用的是Xcode的发布版本,以及最新版本的Crashlytics :)
ios ×6
flask ×3
python ×3
ios5 ×2
mkmapview ×2
swift ×2
werkzeug ×2
xcode ×2
autolayout ×1
crashlytics ×1
firebase ×1
ios6 ×1
ip-address ×1
linux ×1
login ×1
mercurial ×1
mkmaprect ×1
mkoverlay ×1
sqlite ×1
storyboard ×1
uitableview ×1
xcode4.5 ×1