From: Alexis Laferrière Date: Sun, 29 Mar 2015 15:01:44 +0000 (-0400) Subject: lib/ios: add the simple hello_ios app X-Git-Tag: v0.7.3~4^2~1 X-Git-Url: http://nitlanguage.org?ds=sidebyside lib/ios: add the simple hello_ios app Signed-off-by: Alexis Laferrière --- diff --git a/lib/ios/examples/hello_ios.nit b/lib/ios/examples/hello_ios.nit new file mode 100644 index 0000000..d11ffcb --- /dev/null +++ b/lib/ios/examples/hello_ios.nit @@ -0,0 +1,50 @@ +# This file is part of NIT ( http://www.nitlanguage.org ). +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Simple iOS app with a single label +module hello_ios + +import ios + +redef class App + redef fun did_finish_launching_with_options + do + return app_delegate.hello_world + end +end + +redef class AppDelegate + + # Print and show "Hello World!" + private fun hello_world: Bool in "ObjC" `{ + + // Print to the console + NSLog(@"Hello World!"); + + // Display "Hello world!" on the screen + recv.window = [[UIWindow alloc] initWithFrame: + [[UIScreen mainScreen] bounds]]; + recv.window.backgroundColor = [UIColor whiteColor]; + + UILabel *label = [[UILabel alloc] init]; + label.text = @"Hello World!"; + label.center = CGPointMake(100, 100); + [label sizeToFit]; + + [recv.window addSubview: label]; + [recv.window makeKeyAndVisible]; + + return YES; + `} +end