我有一些协议
LoginStrategy
public protocol LoginStrategy {
func login(_ viewController: UIViewController)
func getUserInfo(withCompletionHandler completionHandler: @escaping (_ userInfo: [String: Any]?) -> ())
func createLoginButton(_ frame: CGRect, withCompletionHandler completionHandler: @escaping (_ loginButton: UIView) -> ())
func getUserId() -> String
}
Run Code Online (Sandbox Code Playgroud)
和两个类:
LoginProvider
public class LoginProvider {
public let strategy: LoginStrategy
public func login(_ viewController: UIViewController) {
return self.strategy.login(viewController)
}
public func getUserInfo(withCompletionHandler completionHandler: @escaping (_ userInfo: [String: Any]?) -> ()) {
return self.strategy.getUserInfo(withCompletionHandler: completionHandler)
}
public func createLoginButton(_ frame: CGRect, withCompletionHandler completionHandler: @escaping …Run Code Online (Sandbox Code Playgroud) 比方说我有一个整数数组{1, 3, 4, 7, -9, 0}.此数组是循环排序的,而数组{2, 4, 9 , 3}不是循环排序的.
如果对数组的元素进行排序(循环除外),则对数组进行循环排序.
例如:
4 5 6 7 1 2 3
Run Code Online (Sandbox Code Playgroud)
这里的元素1 2 3 4 5 6 7是"按顺序",但它们向左旋转三个.因此,如果我们向右旋转3,我们得到的1 2 3 4 5 6 7是一个排序数组.
给定一个数组,如何检查数组是否循环排序?
我想将这个图标添加到我的项目中,但它说:
Error saving your changes: Description contains unicode characters above 0xffff
Run Code Online (Sandbox Code Playgroud)
我想让我的存储库的描述如下:
意味着它在描述的左边有一个图像.
这该怎么做?
我有一个例子:
class Animal {
var stamina = 0
func increaseStamina() {
stamina += 1
}
}
var a = Animal()
var closure = { [weak a] in
a?.stamina = 10
}
a.stamina // 0
a.increaseStamina()
a.stamina // 1
closure()
a.stamina // 10
Run Code Online (Sandbox Code Playgroud)
如果我改变了closure这样的话:
var closure = { [weak a] in
a = Animal()
a?.stamina = 10
}
Run Code Online (Sandbox Code Playgroud)
然后它打印出这样的东西:
a.stamina // 0
a.increaseStamina()
a.stamina // 1
closure()
a.stamina // 1
Run Code Online (Sandbox Code Playgroud)
为什么最后一行不同?
我想将所有对象追加到一行中.我有一些像这样的对象:
let abaddon = Hero(name: "abaddon")
let ember = Hero(name: "ember")
let gondar = Hero(name: "gondar")
let kael = Hero(name: "kael")
let kunkka = Hero(name: "kunkka")
let layana = Hero(name: "layana")
let lucifer = Hero(name: "lucifer")
let omni = Hero(name: "omni")
let soul = Hero(name: "soul")
let wind = Hero(name: "wind")
Run Code Online (Sandbox Code Playgroud)
英雄对象是这样的:
class Hero {
var name: String!
var image: UIImage? {
return UIImage(named: "\(name)")!
}
required init(name: String) {
self.name = name
}
}
Run Code Online (Sandbox Code Playgroud)
我想把它们放到这个数组中: var heroes = [Hero]() …
我想创建一个Button这样的:
这是我的代码:
<Button
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center"
android:drawablePadding="10dp"
android:id="@+id/button"
android:text="Play Game"
android:background="@drawable/ronaldo"
android:drawableRight="@drawable/messi" />
Run Code Online (Sandbox Code Playgroud)
但是messi.jpeg太大了,并没有在这种情况下显示文字.如何减小图像大小以适应按钮?
愿任何人帮我解决这个问题吗?
android android-image android-layout android-button android-drawable
我正在构建关于FloatingButton的示例.
但是旋转图像有些麻烦.我希望它像这个链接一样旋转
https://github.com/yoavlt/LiquidFloatingActionButton
但我的按钮是:
正如你所看到的,当我第一次点击时,它运行良好:D,它变换得像x,但是当我再次点击时,我希望它恢复原状+,但它不能很好地运行.
这是我的代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet var floatingButton: UIImageView!
var floatingButtonIsActive = false
override func viewDidLoad() {
super.viewDidLoad()
addShadowToFloatingButton()
let gesture = UITapGestureRecognizer(target: self, action: #selector(floatingButtonTapped(_:)))
floatingButton.addGestureRecognizer(gesture)
}
private func addShadowToFloatingButton() {
floatingButton.layer.shadowColor = UIColor.grayColor().CGColor
floatingButton.layer.shadowOffset = CGSize(width: -2, height: 2)
floatingButton.layer.shadowOpacity = 1
floatingButton.layer.shadowRadius = 1
}
func floatingButtonTapped(sender: UITapGestureRecognizer) {
if floatingButtonIsActive == false {
UIView.animateWithDuration(0.5, delay: 0.0, usingSpringWithDamping: 0.5, initialSpringVelocity: 5, options: .CurveEaseInOut, animations: …Run Code Online (Sandbox Code Playgroud) 我有一个ViewController连接到Xib文件.在这个Xib文件中我有一个View,在这个View中,我有一个像这样的TableView
我也有LeftTableViewCell,RightTableViewCell并连接到另一个Xib文件.
现在我想注册LeftTableViewCell并RightTableViewCell在这个TableView中,所以如何做到这一点,我的代码总是无法编译.
class ThirdViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
let items: Variable<[String]> = Variable(["Test 2", "Test 3", "Test 1", "Test 4", "Test 5"])
let disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// tableView.register(LeftTableViewCell.self, forCellReuseIdentifier: LeftTableViewCell.reuseIdentifier)
// tableView.register(UINib(nibName: "LeftTableViewCell", bundle: nil), forCellReuseIdentifier: LeftTableViewCell.reuseIdentifier)
// tableView.register(UINib(nibName: "RightTableViewCell", bundle: nil), forCellReuseIdentifier: LeftTableViewCell.reuseIdentifier)
items.asObservable().bindTo(tableView.rx.items(cellIdentifier: LeftTableViewCell.reuseIdentifier, cellType: LeftTableViewCell.self)) …Run Code Online (Sandbox Code Playgroud) EX:我有一个数组{1, 2, 3, 4, 5}和一个整数7
它会7向右旋转空格,如:{4, 5, 1, 2, 3}
我也有那个数组{1, 2, 3, 4, 5}和一个整数-7
它会7向左旋转空格,如:{3, 4, 5, 1, 2}
我使用以下方法将数组向右旋转:
for(int i = 0; i < data.length; i++){
result[(i+n) % data.length ] = data[i];
}
Run Code Online (Sandbox Code Playgroud)
但是我们怎样才能将数组向左旋转?
我想像这样设置 SeekBar:
但我的 SeekBar 看起来像这样:
这意味着它超过了两个小“太阳”
这是我的代码:
<SeekBar
android:id="@+id/seekBar"
android:layout_span="2"
android:layout_width="fill_parent"
android:progressDrawable="@drawable/background_custom"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:thumb="@drawable/thumb_custom"
android:minHeight="20dp"
android:maxHeight="40dp"
android:layout_height="45dp"
android:layout_centerVertical="true"
android:max="100"
android:progress="100"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:background="@drawable/my_back_ground"
/>
Run Code Online (Sandbox Code Playgroud)
background_custom 的xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
>
<shape>
<size
android:height="50dp"
android:width="50dp" />
<corners android:radius="50dp" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="#11ff00" />
<corners android:radius="30dp" />
</shape>
</clip>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
thumb_custom 的 xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffe38c" />
<size
android:width="35dp"
android:height="35dp" />
<corners android:radius="35dp" />
<item android:id="@android:id/background"
android:drawable="@drawable/led_sang"/> …Run Code Online (Sandbox Code Playgroud) swift ×5
ios ×3
android ×2
arrays ×2
java ×2
frameworks ×1
git ×1
github ×1
initializer ×1
rotation ×1
rx-swift ×1
seekbar ×1
sorting ×1
uitableview ×1
xcode ×1