我创建了一个UIAlertController
let alertC = UIAlertController(title: "Title", message: "Message", preferredStyle: UIAlertControllerStyle.Alert)
alertC.addTextFieldWithConfigurationHandler(addTextField)
alertC.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Default, handler: nil))
alertC.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: okButton))
presentViewController(alertC, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
但之后我想改变UIAlertController的高度?我怎样才能做到这一点?
我使用Xcode beta6.我创建了一个具有Downloader类的应用程序,这是Downloader类:
class Downloader : NSObject {
private var _connection : NSURLConnection?
private var _downloadedData: NSMutableData?
func getDataFromURLString(urlToRequest: String!, aType: DownloadedDataType) {
_downloadedData = NSMutableData()
var request : NSMutableURLRequest = NSMutableURLRequest(URL: NSURL(string: urlToRequest), cachePolicy: .ReloadIgnoringLocalCacheData, timeoutInterval: 20.0)
request.setValue("", forHTTPHeaderField: "Accept-Encoding")
self._connection = NSURLConnection(request: request, delegate:self)
}
func connection(connection: NSURLConnection!, didReceiveResponse response: NSURLResponse!) {
println("Data expected size: \(response.expectedContentLength)")
}
func connectionDidFinishLoading(connection: NSURLConnection!) {
println("finished")
}
func connection(connection: NSURLConnection!, didFailWithError error: NSError!) {
println("error: \(error)")
}
func connection(connection: NSURLConnection!, didReceiveData data: NSData!) …Run Code Online (Sandbox Code Playgroud) 我尝试将swift 1.2与UIRefreshControl一起使用,并且除了UI之外都可以正常工作。它在跳跃,我不知道为什么。这是我在做什么:
class ViewController: UIViewController {
var refreshControl:UIRefreshControl!
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.refreshControl = UIRefreshControl()
self.refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")
self.refreshControl.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)
self.tableView.addSubview(refreshControl)
}
func refresh(sender:AnyObject) {
// Code to refresh table view
}
}
Run Code Online (Sandbox Code Playgroud)
当您拉下tableView时,突然跳下一点。有人知道为什么吗?
如果我使用UITableViewController,它可以正常工作,但我不想使用此UI对象。我想在UIViewController中使用一个简单的UITableView。
我创建了一个矢量:
std::vector<std::string> mero; // earlier it filled with more than 500 data
Run Code Online (Sandbox Code Playgroud)
之后我想创建另一个向量,它只占用向量的一部分mero.(例如:从第100到第250)
我想使用 ImageMagick 将 pdf 文件转换为黑白 PDF 文件。但是我有两个问题:我使用这个命令:
convert -colorspace Gray D:\in.pdf D:\out.pdf
Run Code Online (Sandbox Code Playgroud)
-density 300选项,文件大小增加了一倍多。所以我想使用相同的DPI设置,但如何使用?非常感谢
这是我想要重构的代码:
let myCell = MyCustomTableViewCell()
self.createCell(myCell, reuseIdentifierString: "myCellIdentifier")
Run Code Online (Sandbox Code Playgroud)
MyCustomTableViewCell符合SetCell协议,因此工作正常.并且SetCell协议不是@obj_c协议.这是一个迅速的协议
private func createCell<T where T:SetCell>(classType: T, reuseIdentifierString: String) -> UITableViewCell {
var cell = _tableView.dequeueReusableCellWithIdentifier(reuseIdentifierString) as T
cell.setText()
return cell.getCustomCell()
}
Run Code Online (Sandbox Code Playgroud)
现在我重构我的代码,我想根据字符串创建myCell,但字符串与我的类名完全相同.我不想使用else-if或switch-case
let myCell: AnyClass! = NSClassFromString("MyCustomTableViewCell")
self.createCell(myCell, reuseIdentifierString: "myCellIdentifier")
Run Code Online (Sandbox Code Playgroud)
但现在,AnyClass的myCell不符合协议.我怎样才能做到这一点?
这是我的枚举:
enum myEnum : Int {
case apple = 0
case orange
case lemon
}
Run Code Online (Sandbox Code Playgroud)
我想从一个数组创建它.数组元素可以是枚举的名称.
let myEnumDictionary : Array<String> = ["apple","orange","lemon"]
Run Code Online (Sandbox Code Playgroud)
那么可以从数组创建枚举吗?
我将此代码放到UIViewController子类中:
override func shouldAutorotateToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation) -> Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
我得到这个编译时错误:
无法覆盖已标记为"不可用"的"shouldAutorotateToInterfaceOrientation"
有什么问题?我怎么能解决这个问题?
基于本教程:链接
这是我的示例代码:
function modifyVar(obj, val) {
obj.valueOf = obj.toSource = obj.toString = function(){ return val; };
}
function setToFalse(boolVar) {
modifyVar(boolVar, 'false');
}
var isOpen = true;
setToFalse(isOpen);
console.log('isOpen ' + isOpen);
Run Code Online (Sandbox Code Playgroud)
如何更改函数中的bool变量值?是否可以通过引用传递bool值?提前致谢
我有一个工作的ViewController与工作UIBlurEffect.这是我的代码:
@IBOutlet weak var nameLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let blurEffect = UIBlurEffect(style: .Light)
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.frame = self.view.frame
blurView.setTranslatesAutoresizingMaskIntoConstraints(false)
self.view.insertSubview(blurView, atIndex: 0)
}
Run Code Online (Sandbox Code Playgroud)
现在我想在nameLabel中添加一个UIVibranyEffect.如何以编程方式将UIVibrancyEffect添加到现有的UILabel?
我创建了一个DLL文件(helloWorld.dll):
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#define DLL_FUNC extern "C" __declspec(dllexport)
DLL_FUNC int __stdcall Hello() {
MessageBox(HWND_DESKTOP, "Hello, world", "MEssage", MB_OK);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
之后我创建了一个我要调用的cpp(useDLL.cpp)
#include <windows.h>
#include <stdio.h>
int main () {
typedef void (*pfunc)();
HINSTANCE hdll = LoadLibrary("HelloWorld.dll");
pfunc Hello;
Hello = (pfunc)GetProcAddress(hdll, "hello");
Hello();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如何调用Hello()函数?
我想在swift中存档和取消归档自定义对象,如下所示:
class Line : NSObject, NSCoding {
var start : CGPoint
init(start _start: CGPoint) {
start = _start
}
required init(coder aDecoder: NSCoder) {
// 1 - compile time error
self.start = aDecoder.decodeObjectForKey("start") as CGPoint
}
override init() {
}
func encodeWithCoder(aCoder: NSCoder) {
// 2 - compile time error
aCoder.encodeObject(start, forKey: "start")
}
}
Run Code Online (Sandbox Code Playgroud)
1.编译时错误是:类型'CGPoint'不符合协议'AnyObject'
2.编译时错误是:调用中的额外参数'forKey'
如何归档和取消归档CGPoint,我知道CGPoint是一个惊天动地,这是问题所在,但如何解决呢?
提前致谢.
在C++中,我有一个名为的字符串数组变量:
...
/* set the variable */
string fileRows[500];
...
/* fill the array with a file rows */
while ( getline(infile,sIn ) )
{
fileRows[i] = sIn;
i++;
}
Run Code Online (Sandbox Code Playgroud)
和一个具有以下内容的对象:
string Data::fileName(){
return (fileRows);
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个返回数组的函数,之后我想称之为:
Data name(hwnd);
MessageBox(hwnd, name.fileName(), "About", MB_OK);
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
不能将'std :: string*{aka std :: basic_string }'转换为'LPCSTR {aka const char }'以将参数'2'转换为'int MessageBoxA(HWND,LPCSTR,LPCSTR,UINT)'
如果我想显示数组的5.元素,如何转换它?