我试图有一个类似于iPhone消息的textview,其中textview最初有一个约束(height <= 100)和scrollEnabled = false
这是项目的链接:https: //github.com/akawther/TextView
文本视图的高度根据内容大小增加,如左图所示,直到达到100的高度,然后scrollEnabled设置为true.它完美无缺,直到我点击右下角的"发送"按钮,其中textView应该变为空并返回到原始高度并且scrollEnabled变为false.中间的图像显示了单击按钮时发生的情况.当我开始输入时,文本视图向下移动,就像您在右侧的最后一张图片中看到的那样.我希望能够单击按钮并消除中间图像上显示的行为,我该如何解决这个问题?
import UIKit
class ViewController: UIViewController, UITextViewDelegate {
@IBOutlet weak var bottomConstraint: NSLayoutConstraint!
@IBOutlet weak var messageTextView: UITextView!
@IBOutlet weak var parent: UIView!
let messageTextViewMaxHeight: CGFloat = 100
override func viewDidLoad() {
super.viewDidLoad()
self.messageTextView.delegate = self
}
@IBAction func Reset(sender: AnyObject) {
messageTextView.text = ""
messageTextView.frame.size.height = messageTextView.contentSize.height
messageTextView.scrollEnabled = false
self.parent.layoutIfNeeded()
}
func textViewDidChange(textView: UITextView) {
if textView.frame.size.height >= self.messageTextViewMaxHeight {
textView.scrollEnabled = true
} else {
textView.scrollEnabled = false …Run Code Online (Sandbox Code Playgroud) 我试图指向路径下的文件。我的test2.sql样子是这样的:
create table setting (id integer primary key, status text)
insert into setting values (1, 'new')
Run Code Online (Sandbox Code Playgroud)
当我输入这个命令时:
sqlite> .read users/name/test2.sql
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Error: cannot open "test2.sql"
Run Code Online (Sandbox Code Playgroud)
或者表现得好像它执行时没有错误,但没有记录添加到表中。
我愿意
sqlite> select * from setting;
Run Code Online (Sandbox Code Playgroud)
这可以追溯到:
sqlite>
Run Code Online (Sandbox Code Playgroud)
使用该.read命令有任何问题吗?
将底线边框添加到的最佳方法是TextView什么?我已经尝试过了,但似乎行不通。它受滚动能力的影响,textview并且在TextView
func addBottomBorderWithColor(color: UIColor, width: CGFloat) {
let border = CALayer()
border.backgroundColor = color.CGColor
border.frame = CGRectMake(0, self.frame.size.height - width, self.frame.size.width, width)
self.layer.addSublayer(border)
self.layer.masksToBounds = true
}
Run Code Online (Sandbox Code Playgroud)
编辑:TextView具有动态高度。
在我的应用程序中,我使用MKMapView在地图视图上显示一些位置.它显示地图很好.但从昨天开始它只显示网格而不显示地图,当我添加委托方法时,它会在mapviewdidfiailtoload中显示.
我使用以下代码
// MapView类
myMapView=[[MKMapView alloc] initWithFrame:CGRectMake(0,gameNameLabel.frame.size.height, 320, 181)];
myMapView.mapType=MKMapTypeStandard;
myMapView.delegate=self;
LocationModel *loc=presentGame.location;
NSArray *cordinates=[loc.geoCordinates componentsSeparatedByString:@","];
CLLocationCoordinate2D zoomLocation;
zoomLocation.latitude = [[cordinates objectAtIndex:0] doubleValue];
zoomLocation.longitude= [[cordinates objectAtIndex:1] doubleValue];
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 0.5*METERS_PER_MILE, 0.5*METERS_PER_MILE);
// 3
MKCoordinateRegion adjustedRegion = [myMapView regionThatFits:viewRegion];
// 4
[myMapView setRegion:adjustedRegion animated:YES]; [scroll addSubview:myMapView];
Place *pin = [[Place alloc] init];
pin.name = loc.gameLocation;
pin.latitude = [[cordinates objectAtIndex:0] doubleValue];
pin.longitude = [[cordinates objectAtIndex:1] doubleValue];
PlaceMark* Place1 = [[PlaceMark alloc] initWithPlace:pin];
Place1.tagg=1;
[myMapView addAnnotation:Place1];
//end of mapview
Run Code Online (Sandbox Code Playgroud)
- (MKAnnotationView*)mapView:(MKMapView*)mapView1 …
我有一个TextView,它具有最小高度为33的约束.从故事板中禁用滚动.TextView应根据内容增加高度,直到达到100的最大高度.然后我将scrollEnabled更改为true,将TextView的高度更改为最大高度100,但高度更改为33.如何修复这个问题?
import UIKit
class ViewController: UIViewController, UITextViewDelegate {
@IBOutlet weak var messageTextView: UITextView!
let messageTextViewMaxHeight: CGFloat = 100
override func viewDidLoad() {
super.viewDidLoad()
self.messageTextView.delegate = self
}
func textViewDidChange(textView: UITextView) {
if textView.frame.size.height >= self.messageTextViewMaxHeight {
textView.scrollEnabled = true
textView.frame.size.height = self.messageTextViewMaxHeight
} else {
textView.scrollEnabled = false
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何在不滚动表的情况下将行插入UITableView的顶部?就像当你拖动重新加载推特上的新推文或whatsApp中的消息时一样
我尝试做另一个begin/endUpdate部分,要求它滚动到第三个索引,但它没有用.它总是滚动到tableView的顶部.我希望它保持与添加新行之前的位置相同.
self.tableView.beginUpdates()
let indexPath = IndexPath(row: 3, section: 0)
self.tableView.scrollToRow(at: indexPath, at: .top, animated: false)
self.tableView.endUpdates()
Run Code Online (Sandbox Code Playgroud)
PS这是我真实项目中的一个示例项目,单元格的大小根据邮件大小而变化.
这是该项目的链接:https: //github.com/akawther/TableView
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
var loadMore: UIRefreshControl!
var labels = ["A","B","C","D","E","F","G","H","I","J","K"]
override func viewDidLoad() {
super.viewDidLoad()
self.loadMore = UIRefreshControl()
self.loadMore.attributedTitle = NSAttributedString(string: "Pull to reload more")
self.loadMore.addTarget(self, action: #selector(ViewController.loadMoreChats), for: .valueChanged)
self.tableView.addSubview(self.loadMore)
// Do any additional setup after loading the view, typically from a nib.
}
func loadMoreChats() { …Run Code Online (Sandbox Code Playgroud) 我的应用程序是一个社交网络应用程序,没有用户帐户它无法正常运行.我向用户提供了使用Facebook或Twitter登录的选项.苹果公司拒绝了该应用程序,这就是他们所说的:
我们注意到您的应用使用Facebook和Twitter登录进行身份验证,但不包括该网站提供的基于帐户的功能.为了使用Facebook和Twitter进行身份验证,您的应用必须包含来自Facebook和Twitter的重要帐户特定功能.
下一步
请修改您的应用程序以实现您自己的身份验证机制,或者从Facebook和Twitter合并重要的帐户特定功能.
他们的意思是:
包括来自Facebook和Twitter的重要帐户特定功能.
我在我的应用程序中唯一的FB/TW部分是允许用户邀请其他人,但其他功能与Facebook或Twitter没有任何关系.我不会从FB/TW收集用户数据,也不需要知道他们的圈子是谁或类似的东西.我的应用程序独立于所有这些(应用程序有一个后端服务器和数据库),除了一个发送邀请给其他人.Apple是否希望我包含更多Facebook/Twitter功能,我的应用程序是一个与Facebook或Twitter不同的社交网络.我觉得这个要求很奇怪.如果我仍然必须遵守这一点,那些"重要的帐户特定功能"是什么,他们希望看到什么?我的应用程序中已经有一个屏幕允许用户向其他潜在客户发送邀请,这是不是很重要?他们还想看到什么?我看过Tinder,它不允许用户去任何地方或做任何事情,除非他们先登录FB,为什么会这样!
我已经看到这些问题iOS应用程序使用Facebook - 被拒绝,什么是Facebook的重要帐户特定功能,但没有明确的答案
下一步
请修改您的应用程序以实现您自己的身份验证机制,或者从Facebook和Twitter合并重要的帐户特定功能.
他们的意思是:
包括来自Facebook和Twitter的重要帐户特定功能.
我该怎么办?
我得到了苹果的澄清.Apple代表打电话给我,这就是她所说的:
来自Facebook的重要帐户特定功能没有从用户个人资料中获取用户名或个人资料图片,Apple希望您使用更多帐户特定信息,如共同兴趣和朋友列表.或者,如果您添加自己的登录名和密码,则可以使用Facebook和Twitter登录而无需特定于帐户的功能.
在可能的情况下,我没有在我的应用程序中使用用户兴趣或朋友列表,所以我决定将登录页面添加到我自己的登录名和密码,以及Facebook和Twitter登录.
我在 git 中有我的项目,我们有 2 名程序员在该项目中工作。用户 B 使用(xcode 8.2.1)添加了一些文件并推送到远程。使用 (xcode 8.0) 的用户 A 还添加了一些已提交更改的文件,单击以将其拉出而没有任何消息,但不会拉出用户 B 创建的新文件。用户 A 尝试推送并显示此消息:
“本地存储库已过期。请确保已从远程存储库中提取所有更改,然后重试”
我该如何解决这个问题?